#pragma once #include #include "!GlobalTypes.hpp" // ///////////////////////////////////////////////////////////// // Binary: client.dll // Classes count: 7671 // Enums count: 61 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x5 enum class C_BaseCombatCharacter__WaterWakeMode_t : uint32_t { WATER_WAKE_NONE = 0x0, WATER_WAKE_IDLE = 0x1, WATER_WAKE_WALKING = 0x2, WATER_WAKE_RUNNING = 0x3, WATER_WAKE_WATER_OVERHEAD = 0x4, }; // Alignment: 4 // Size: 0x5 enum class P2P_Messages : uint32_t { p2p_TextMessage = 0x100, p2p_Voice = 0x101, p2p_Ping = 0x102, p2p_VRAvatarPosition = 0x103, p2p_WatchSynchronization = 0x104, }; // Alignment: 4 // Size: 0x2 enum class ETournamentTemplate : uint32_t { k_ETournamentTemplate_None = 0x0, k_ETournamentTemplate_AutomatedWin3 = 0x1, }; // Alignment: 4 // Size: 0xa enum class ETournamentGameState : uint32_t { k_ETournamentGameState_Unknown = 0x0, k_ETournamentGameState_Canceled = 0x1, k_ETournamentGameState_Scheduled = 0x2, k_ETournamentGameState_Active = 0x3, k_ETournamentGameState_RadVictory = 0x14, k_ETournamentGameState_DireVictory = 0x15, k_ETournamentGameState_RadVictoryByForfeit = 0x16, k_ETournamentGameState_DireVictoryByForfeit = 0x17, k_ETournamentGameState_ServerFailure = 0x28, k_ETournamentGameState_NotNeeded = 0x29, }; // Alignment: 4 // Size: 0x15 enum class ETournamentTeamState : uint32_t { k_ETournamentTeamState_Unknown = 0x0, k_ETournamentTeamState_Node1 = 0x1, k_ETournamentTeamState_NodeMax = 0x400, k_ETournamentTeamState_Eliminated = 0x36b3, k_ETournamentTeamState_Forfeited = 0x36b4, k_ETournamentTeamState_Finished1st = 0x3a99, k_ETournamentTeamState_Finished2nd = 0x3a9a, k_ETournamentTeamState_Finished3rd = 0x3a9b, k_ETournamentTeamState_Finished4th = 0x3a9c, k_ETournamentTeamState_Finished5th = 0x3a9d, k_ETournamentTeamState_Finished6th = 0x3a9e, k_ETournamentTeamState_Finished7th = 0x3a9f, k_ETournamentTeamState_Finished8th = 0x3aa0, k_ETournamentTeamState_Finished9th = 0x3aa1, k_ETournamentTeamState_Finished10th = 0x3aa2, k_ETournamentTeamState_Finished11th = 0x3aa3, k_ETournamentTeamState_Finished12th = 0x3aa4, k_ETournamentTeamState_Finished13th = 0x3aa5, k_ETournamentTeamState_Finished14th = 0x3aa6, k_ETournamentTeamState_Finished15th = 0x3aa7, k_ETournamentTeamState_Finished16th = 0x3aa8, }; // Alignment: 4 // Size: 0xc enum class ETournamentState : uint32_t { k_ETournamentState_Unknown = 0x0, k_ETournamentState_CanceledByAdmin = 0x1, k_ETournamentState_Completed = 0x2, k_ETournamentState_Merged = 0x3, k_ETournamentState_ServerFailure = 0x4, k_ETournamentState_TeamAbandoned = 0x5, k_ETournamentState_TeamTimeoutForfeit = 0x6, k_ETournamentState_TeamTimeoutRefund = 0x7, k_ETournamentState_ServerFailureGrantedVictory = 0x8, k_ETournamentState_TeamTimeoutGrantedVictory = 0x9, k_ETournamentState_InProgress = 0x64, k_ETournamentState_WaitingToMerge = 0x65, }; // Alignment: 4 // Size: 0xe enum class ETournamentNodeState : uint32_t { k_ETournamentNodeState_Unknown = 0x0, k_ETournamentNodeState_Canceled = 0x1, k_ETournamentNodeState_TeamsNotYetAssigned = 0x2, k_ETournamentNodeState_InBetweenGames = 0x3, k_ETournamentNodeState_GameInProgress = 0x4, k_ETournamentNodeState_A_Won = 0x5, k_ETournamentNodeState_B_Won = 0x6, k_ETournamentNodeState_A_WonByForfeit = 0x7, k_ETournamentNodeState_B_WonByForfeit = 0x8, k_ETournamentNodeState_A_Bye = 0x9, k_ETournamentNodeState_A_Abandoned = 0xa, k_ETournamentNodeState_ServerFailure = 0xb, k_ETournamentNodeState_A_TimeoutForfeit = 0xc, k_ETournamentNodeState_A_TimeoutRefund = 0xd, }; // Alignment: 4 // Size: 0xa enum class EDOTAGroupMergeResult : uint32_t { k_EDOTAGroupMergeResult_OK = 0x0, k_EDOTAGroupMergeResult_FAILED_GENERIC = 0x1, k_EDOTAGroupMergeResult_NOT_LEADER = 0x2, k_EDOTAGroupMergeResult_TOO_MANY_PLAYERS = 0x3, k_EDOTAGroupMergeResult_TOO_MANY_COACHES = 0x4, k_EDOTAGroupMergeResult_ENGINE_MISMATCH = 0x5, k_EDOTAGroupMergeResult_NO_SUCH_GROUP = 0x6, k_EDOTAGroupMergeResult_OTHER_GROUP_NOT_OPEN = 0x7, k_EDOTAGroupMergeResult_ALREADY_INVITED = 0x8, k_EDOTAGroupMergeResult_NOT_INVITED = 0x9, }; // Alignment: 4 // Size: 0x2 enum class EPartyBeaconType : uint32_t { k_EPartyBeaconType_Available = 0x0, k_EPartyBeaconType_Joinable = 0x1, }; // Alignment: 4 // Size: 0x4 enum class CMsgDOTARequestMatches_SkillLevel : uint32_t { CMsgDOTARequestMatches_SkillLevel_Any = 0x0, CMsgDOTARequestMatches_SkillLevel_Normal = 0x1, CMsgDOTARequestMatches_SkillLevel_High = 0x2, CMsgDOTARequestMatches_SkillLevel_VeryHigh = 0x3, }; // Alignment: 4 // Size: 0x2 enum class DOTA_WatchReplayType : uint32_t { DOTA_WATCH_REPLAY_NORMAL = 0x0, DOTA_WATCH_REPLAY_HIGHLIGHTS = 0x1, }; // Alignment: 4 // Size: 0x4 enum class EItemEditorReservationResult : uint32_t { k_EItemEditorReservationResult_OK = 0x1, k_EItemEditorReservationResult_AlreadyExists = 0x2, k_EItemEditorReservationResult_Reserved = 0x3, k_EItemEditorReservationResult_TimedOut = 0x4, }; // Alignment: 4 // Size: 0x4 enum class EWeekendTourneyRichPresenceEvent : uint32_t { k_EWeekendTourneyRichPresenceEvent_None = 0x0, k_EWeekendTourneyRichPresenceEvent_StartedMatch = 0x1, k_EWeekendTourneyRichPresenceEvent_WonMatch = 0x2, k_EWeekendTourneyRichPresenceEvent_Eliminated = 0x3, }; // Alignment: 4 // Size: 0x6 enum class EDOTATriviaAnswerResult : uint32_t { k_EDOTATriviaAnswerResult_Success = 0x0, k_EDOTATriviaAnswerResult_InvalidQuestion = 0x1, k_EDOTATriviaAnswerResult_InvalidAnswer = 0x2, k_EDOTATriviaAnswerResult_QuestionLocked = 0x3, k_EDOTATriviaAnswerResult_AlreadyAnswered = 0x4, k_EDOTATriviaAnswerResult_TriviaDisabled = 0x5, }; // Alignment: 4 // Size: 0x8 enum class EPurchaseHeroRelicResult : uint32_t { k_EPurchaseHeroRelicResult_Success = 0x0, k_EPurchaseHeroRelicResult_FailedToSend = 0x1, k_EPurchaseHeroRelicResult_NotEnoughPoints = 0x2, k_EPurchaseHeroRelicResult_InternalServerError = 0x3, k_EPurchaseHeroRelicResult_PurchaseNotAllowed = 0x4, k_EPurchaseHeroRelicResult_InvalidRelic = 0x5, k_EPurchaseHeroRelicResult_AlreadyOwned = 0x6, k_EPurchaseHeroRelicResult_InvalidRarity = 0x7, }; // Alignment: 4 // Size: 0x7 enum class EDevEventRequestResult : uint32_t { k_EDevEventRequestResult_Success = 0x0, k_EDevEventRequestResult_NotAllowed = 0x1, k_EDevEventRequestResult_InvalidEvent = 0x2, k_EDevEventRequestResult_SqlFailure = 0x3, k_EDevEventRequestResult_Timeout = 0x4, k_EDevEventRequestResult_LockFailure = 0x5, k_EDevEventRequestResult_SDOLoadFailure = 0x6, }; // Alignment: 4 // Size: 0xe enum class ESupportEventRequestResult : uint32_t { k_ESupportEventRequestResult_Success = 0x0, k_ESupportEventRequestResult_Timeout = 0x1, k_ESupportEventRequestResult_CantLockSOCache = 0x2, k_ESupportEventRequestResult_ItemNotInInventory = 0x3, k_ESupportEventRequestResult_InvalidItemDef = 0x4, k_ESupportEventRequestResult_InvalidEvent = 0x5, k_ESupportEventRequestResult_EventExpired = 0x6, k_ESupportEventRequestResult_InvalidSupportAccount = 0x7, k_ESupportEventRequestResult_InvalidSupportMessage = 0x8, k_ESupportEventRequestResult_InvalidEventPoints = 0x9, k_ESupportEventRequestResult_InvalidPremiumPoints = 0xa, k_ESupportEventRequestResult_InvalidActionID = 0xb, k_ESupportEventRequestResult_InvalidActionScore = 0xc, k_ESupportEventRequestResult_TransactionFailed = 0xd, }; // Alignment: 4 // Size: 0xc enum class EUnderDraftResponse : uint32_t { k_eInternalError = 0x0, k_eSuccess = 0x1, k_eNoGold = 0x2, k_eInvalidSlot = 0x3, k_eNoBenchSpace = 0x4, k_eNoTickets = 0x5, k_eEventNotOwned = 0x6, k_eInvalidReward = 0x7, k_eHasBigReward = 0x8, k_eNoGCConnection = 0x9, k_eTooBusy = 0xa, k_eCantRollBack = 0xb, }; // Alignment: 4 // Size: 0x6 enum class EDOTADraftTriviaAnswerResult : uint32_t { k_EDOTADraftTriviaAnswerResult_Success = 0x0, k_EDOTADraftTriviaAnswerResult_InvalidMatchID = 0x1, k_EDOTADraftTriviaAnswerResult_AlreadyAnswered = 0x2, k_EDOTADraftTriviaAnswerResult_InternalError = 0x3, k_EDOTADraftTriviaAnswerResult_TriviaDisabled = 0x4, k_EDOTADraftTriviaAnswerResult_GCDown = 0x5, }; // Alignment: 4 // Size: 0x43 enum class CMsgBattleReport_HighlightType : uint32_t { k_eHighlightTypeInvalid = 0xffffffffffffffff, k_eGameWinrate = 0x0, k_eLaneWinrate = 0x1, k_eMMRDelta = 0x2, k_eNumHeroesPlayed = 0x3, k_eNumGamesPlayed = 0x4, k_eAveragePowerRunesTaken = 0x5, k_eAverageBountyRunesTaken = 0x6, k_eTotalKillEnemyT1First = 0x7, k_eTotalRoshanKills = 0x8, k_eTotalDewards = 0x9, k_eTotalCampsStacked = 0xa, k_eMaxWinstreak = 0xb, k_eAverageDewards = 0xc, k_eAverageKills = 0xd, k_eMaxKills = 0xe, k_eAverageAssists = 0xf, k_eMaxAssists = 0x10, k_eAverageDeaths = 0x11, k_eMinDeaths = 0x12, k_eAverageCampsStacked = 0x13, k_eTotalLastHits = 0x14, k_eAverageLastHits = 0x15, k_eTotalDenies = 0x16, k_eAverageDenies = 0x17, k_eTotalGamesWithRoshanAdvantage = 0x18, k_ePercentGamesWithRoshanAdvantage = 0x19, k_eAverageStunDuration = 0x1a, k_eTotalStunDuration = 0x1b, k_eAverageTeleportsUsed = 0x1c, k_eTotalTeleportsUsed = 0x1d, k_eAverageHeroDamage = 0x1e, k_eTotalHeroDamage = 0x1f, k_eAverageHeroHealing = 0x20, k_eTotalHeroHealing = 0x21, k_eAverageTowerDamage = 0x22, k_eTotalTowerDamage = 0x23, k_eMaxLossStreak = 0x24, k_eAverageGameDuration = 0x25, k_eMaxGameDuration = 0x26, k_eMinGameDuration = 0x27, k_eAverageWinDuration = 0x28, k_eMaxWinDuration = 0x29, k_eMinWinDuration = 0x2a, k_eAverageLossDuration = 0x2b, k_eMaxLossDuration = 0x2c, k_eMinLossDuration = 0x2d, k_ePctGamesEnemyT1TakenFirst = 0x2e, k_eMaxCampsStacked = 0x2f, k_eMaxDewards = 0x30, k_eMaxRoshanKills = 0x31, k_eMaxBountyRunesTaken = 0x32, k_eMaxPowerRunesTaken = 0x33, k_eMaxDeaths = 0x34, k_eMaxLastHits = 0x35, k_eMaxDenies = 0x36, k_eRadiantWinRate = 0x37, k_eDireWinRate = 0x38, k_eRadiantGameCount = 0x39, k_eDireGameCount = 0x3a, k_eMaxDamage = 0x3b, k_eMaxHealing = 0x3c, k_eMaxTowerDamage = 0x3d, k_eAverageGPM = 0x3e, k_eMaxGPM = 0x3f, k_eAverageXPM = 0x40, k_eMaxXPM = 0x41, }; // Alignment: 4 // Size: 0x3 enum class CMsgBattleReport_HighlightCategory : uint32_t { k_eHighlightGeneral = 0x0, k_eHighlightHero = 0x1, k_eHighlightRole = 0x2, }; // Alignment: 4 // Size: 0x6 enum class CMsgBattleReport_Role : uint32_t { k_eUnknownRole = 0xffffffffffffffff, k_eSafelane = 0x0, k_eMidlane = 0x1, k_eOfflane = 0x2, k_eSoftSupport = 0x3, k_eHardSupport = 0x4, }; // Alignment: 4 // Size: 0x5 enum class CMsgBattleReport_CompareContext : uint32_t { k_eCompareContextInvalid = 0xffffffffffffffff, k_eAbsoluteValue = 0x0, k_ePlayersOfSimilarRank = 0x1, k_eAllPlayers = 0x2, k_ePlayersPersonalHistory = 0x3, }; // Alignment: 4 // Size: 0x6 enum class CMsgBattleReport_HighlightTier : uint32_t { k_eHighlightTierLow = 0xffffffffffffffff, k_eHighlightTierNone = 0x0, k_eHighlightTier1 = 0x1, k_eHighlightTier2 = 0x2, k_eHighlightTier3 = 0x3, k_eHighlightTierCustom = 0x4, }; // Alignment: 4 // Size: 0x3 enum class CMsgBattleReport_HighlightRarity : uint32_t { k_eHighlightCommon = 0x0, k_eHighlightUncommon = 0x1, k_eHighlightRare = 0x2, }; // Alignment: 4 // Size: 0x2 enum class CMsgBattleReport_EOutcome : uint32_t { k_eWin = 0x0, k_eLoss = 0x1, }; // Alignment: 4 // Size: 0x4 enum class CMsgBattleReport_ELaneOutcome : uint32_t { k_eUnknownLaneOutcome = 0xffffffffffffffff, k_eWonLane = 0x0, k_eLostLane = 0x1, k_eEvenLane = 0x2, }; // Alignment: 4 // Size: 0x9 enum class ECandyShopAuditAction : uint32_t { k_ECandyShopAuditAction_Invalid = 0x0, k_ECandyShopAuditAction_SupportModify = 0x1, k_ECandyShopAuditAction_PurchaseReward = 0x2, k_ECandyShopAuditAction_OpenBags = 0x3, k_ECandyShopAuditAction_RerollRewards = 0x4, k_ECandyShopAuditAction_DoVariableExchange = 0x5, k_ECandyShopAuditAction_DoExchange = 0x6, k_ECandyShopAuditAction_EventActionGrantInventorySizeIncrease = 0x7, k_ECandyShopAuditAction_EventActionGrantRerollChargesIncrease = 0x8, }; // Alignment: 4 // Size: 0x4 enum class ECandyShopRewardType : uint32_t { k_eCandyShopRewardType_None = 0x0, k_eCandyShopRewardType_Item = 0x1, k_eCandyShopRewardType_EventAction = 0x2, k_eCandyShopRewardType_EventPoints = 0x3, }; // Alignment: 4 // Size: 0x4 enum class ECoachTeammateRating : uint32_t { k_ECoachTeammateRating_None = 0x0, k_ECoachTeammateRating_Positive = 0x1, k_ECoachTeammateRating_Negative = 0x2, k_ECoachTeammateRating_Abusive = 0x3, }; // Alignment: 4 // Size: 0x6 enum class EPrivateCoachingSessionState : uint32_t { k_ePrivateCoachingSessionState_Invalid = 0x0, k_ePrivateCoachingSessionState_SearchingForCoach = 0x1, k_ePrivateCoachingSessionState_CoachAssigned = 0x2, k_ePrivateCoachingSessionState_Finished = 0x3, k_ePrivateCoachingSessionState_Expired = 0x4, k_ePrivateCoachingSessionState_Abandoned = 0x5, }; // Alignment: 4 // Size: 0x3 enum class EPrivateCoachingSessionMemberFlag : uint32_t { k_EPrivateCoachingSessionMemberFlag_Requester = 0x1, k_EPrivateCoachingSessionMemberFlag_Coach = 0x2, k_EPrivateCoachingSessionMemberFlag_LeftSession = 0x4, }; // Alignment: 4 // Size: 0x2 enum class EPlayerCoachMatchFlag : uint32_t { k_EPlayerCoachMatchFlag_EligibleForRewards = 0x1, k_EPlayerCoachMatchFlag_PrivateCoach = 0x2, }; // Alignment: 4 // Size: 0x60 enum class DOTA_2013PassportSelectionIndices : uint32_t { PP13_SEL_ALLSTAR_PLAYER_0 = 0x0, PP13_SEL_ALLSTAR_PLAYER_1 = 0x1, PP13_SEL_ALLSTAR_PLAYER_2 = 0x2, PP13_SEL_ALLSTAR_PLAYER_3 = 0x3, PP13_SEL_ALLSTAR_PLAYER_4 = 0x4, PP13_SEL_ALLSTAR_PLAYER_5 = 0x5, PP13_SEL_ALLSTAR_PLAYER_6 = 0x6, PP13_SEL_ALLSTAR_PLAYER_7 = 0x7, PP13_SEL_ALLSTAR_PLAYER_8 = 0x8, PP13_SEL_ALLSTAR_PLAYER_9 = 0x9, PP13_SEL_QUALPRED_WEST_0 = 0xa, PP13_SEL_QUALPRED_WEST_1 = 0xb, PP13_SEL_QUALPRED_WEST_2 = 0xc, PP13_SEL_QUALPRED_WEST_3 = 0xd, PP13_SEL_QUALPRED_WEST_4 = 0xe, PP13_SEL_QUALPRED_WEST_5 = 0xf, PP13_SEL_QUALPRED_WEST_6 = 0x10, PP13_SEL_QUALPRED_WEST_7 = 0x11, PP13_SEL_QUALPRED_WEST_8 = 0x12, PP13_SEL_QUALPRED_WEST_9 = 0x13, PP13_SEL_QUALPRED_WEST_10 = 0x14, PP13_SEL_QUALPRED_WEST_11 = 0x15, PP13_SEL_QUALPRED_WEST_12 = 0x16, PP13_SEL_QUALPRED_WEST_13 = 0x17, PP13_SEL_QUALPRED_WEST_14 = 0x18, PP13_SEL_QUALPRED_EAST_0 = 0x19, PP13_SEL_QUALPRED_EAST_1 = 0x1a, PP13_SEL_QUALPRED_EAST_2 = 0x1b, PP13_SEL_QUALPRED_EAST_3 = 0x1c, PP13_SEL_QUALPRED_EAST_4 = 0x1d, PP13_SEL_QUALPRED_EAST_5 = 0x1e, PP13_SEL_QUALPRED_EAST_6 = 0x1f, PP13_SEL_QUALPRED_EAST_7 = 0x20, PP13_SEL_QUALPRED_EAST_8 = 0x21, PP13_SEL_QUALPRED_EAST_9 = 0x22, PP13_SEL_QUALPRED_EAST_10 = 0x23, PP13_SEL_QUALPRED_EAST_11 = 0x24, PP13_SEL_QUALPRED_EAST_12 = 0x25, PP13_SEL_QUALPRED_EAST_13 = 0x26, PP13_SEL_QUALPRED_EAST_14 = 0x27, PP13_SEL_TEAMCUP_TEAM = 0x28, PP13_SEL_TEAMCUP_PLAYER = 0x29, PP13_SEL_TEAMCUP_TEAM_LOCK = 0x2a, PP13_SEL_TEAMCUP_PLAYER_LOCK = 0x2b, PP13_SEL_EVENTPRED_0 = 0x2c, PP13_SEL_EVENTPRED_1 = 0x2d, PP13_SEL_EVENTPRED_2 = 0x2e, PP13_SEL_EVENTPRED_3 = 0x2f, PP13_SEL_EVENTPRED_4 = 0x30, PP13_SEL_EVENTPRED_5 = 0x31, PP13_SEL_EVENTPRED_6 = 0x32, PP13_SEL_EVENTPRED_7 = 0x33, PP13_SEL_EVENTPRED_8 = 0x34, PP13_SEL_EVENTPRED_9 = 0x35, PP13_SEL_EVENTPRED_10 = 0x36, PP13_SEL_EVENTPRED_11 = 0x37, PP13_SEL_EVENTPRED_12 = 0x38, PP13_SEL_EVENTPRED_13 = 0x39, PP13_SEL_EVENTPRED_14 = 0x3a, PP13_SEL_EVENTPRED_15 = 0x3b, PP13_SEL_EVENTPRED_16 = 0x3c, PP13_SEL_EVENTPRED_17 = 0x3d, PP13_SEL_EVENTPRED_18 = 0x3e, PP13_SEL_EVENTPRED_19 = 0x3f, PP13_SEL_EVENTPRED_20 = 0x40, PP13_SEL_EVENTPRED_21 = 0x41, PP13_SEL_EVENTPRED_22 = 0x42, PP13_SEL_EVENTPRED_23 = 0x43, PP13_SEL_EVENTPRED_24 = 0x44, PP13_SEL_EVENTPRED_25 = 0x45, PP13_SEL_EVENTPRED_26 = 0x46, PP13_SEL_EVENTPRED_27 = 0x47, PP13_SEL_EVENTPRED_28 = 0x48, PP13_SEL_EVENTPRED_29 = 0x49, PP13_SEL_EVENTPRED_30 = 0x4a, PP13_SEL_EVENTPRED_31 = 0x4b, PP13_SEL_EVENTPRED_32 = 0x4c, PP13_SEL_EVENTPRED_33 = 0x4d, PP13_SEL_EVENTPRED_34 = 0x4e, PP13_SEL_EVENTPRED_35 = 0x4f, PP13_SEL_EVENTPRED_36 = 0x50, PP13_SEL_EVENTPRED_37 = 0x51, PP13_SEL_EVENTPRED_38 = 0x52, PP13_SEL_EVENTPRED_39 = 0x53, PP13_SEL_EVENTPRED_40 = 0x54, PP13_SEL_EVENTPRED_41 = 0x55, PP13_SEL_EVENTPRED_42 = 0x56, PP13_SEL_EVENTPRED_43 = 0x57, PP13_SEL_SOLO_0 = 0x58, PP13_SEL_SOLO_1 = 0x59, PP13_SEL_SOLO_2 = 0x5a, PP13_SEL_SOLO_3 = 0x5b, PP13_SEL_SOLO_4 = 0x5c, PP13_SEL_SOLO_5 = 0x5d, PP13_SEL_SOLO_6 = 0x5e, PP13_SEL_SOLO_7 = 0x5f, }; // Alignment: 4 // Size: 0x1a enum class EGuildAuditAction : uint32_t { k_EGuildAuditAction_Invalid = 0x0, k_EGuildAuditAction_GuildCreated = 0x1, k_EGuildAuditAction_GuildLanguageChanged = 0x2, k_EGuildAuditAction_GuildFlagsChanged = 0x3, k_EGuildAuditAction_GuildMemberJoined = 0x5, k_EGuildAuditAction_GuildMemberLeft = 0x6, k_EGuildAuditAction_GuildMemberKicked = 0x7, k_EGuildAuditAction_GuildMemberRoleChanged = 0x8, k_EGuildAuditAction_GuildLogoChanged = 0x9, k_EGuildAuditAction_GuildRegionChanged = 0xa, k_EGuildAuditAction_GuildDescriptionChanged = 0xb, k_EGuildAuditAction_GuildPrimaryColorChanged = 0xc, k_EGuildAuditAction_GuildSecondaryColorChanged = 0xd, k_EGuildAuditAction_GuildPatternChanged = 0xe, k_EGuildAuditAction_AdminClearedLogo = 0xf, k_EGuildAuditAction_GuildRequiredRankChanged = 0x10, k_EGuildAuditAction_GuildMotDChanged = 0x12, k_EGuildAuditAction_AdminResetName = 0x13, k_EGuildAuditAction_AdminResetTag = 0x14, k_EGuildAuditAction_AdminLock = 0x15, k_EGuildAuditAction_GuildNameChanged = 0x16, k_EGuildAuditAction_GuildTagChanged = 0x17, k_EGuildAuditAction_AdminPermitted = 0x18, k_EGuildAuditAction_AdminBlocked = 0x19, k_EGuildAuditAction_AdminBannedUser = 0x1a, k_EGuildAuditAction_AdminExonerated = 0x1b, }; // Alignment: 4 // Size: 0x3 enum class EGuildChatType : uint32_t { k_EGuildChatType_Unspecified = 0x0, k_EGuildChatType_SteamChatGroup = 0x1, k_EGuildChatType_GC = 0x2, }; // Alignment: 4 // Size: 0x9 enum class EGuildEventAuditAction : uint32_t { k_EGuildEventAuditAction_Invalid = 0x0, k_EGuildEventAuditAction_DevGrant = 0x1, k_EGuildEventAuditAction_CompleteContract = 0x2, k_EGuildEventAuditAction_CompleteChallenge = 0x3, k_EGuildEventAuditAction_CompleteMatch_Winner = 0x4, k_EGuildEventAuditAction_ChallengeProgress = 0x5, k_EGuildEventAuditAction_CompleteMatch_Loser = 0x6, k_EGuildEventAuditAction_WeeklyLeaderboard = 0x7, k_EGuildEventAuditAction_ManualGrant = 0x8, }; // Alignment: 4 // Size: 0x26 enum class EStartFindingMatchResult : uint32_t { k_EStartFindingMatchResult_Invalid = 0x0, k_EStartFindingMatchResult_OK = 0x1, k_EStartFindingMatchResult_AlreadySearching = 0x2, k_EStartFindingMatchResult_FailGeneric = 0x64, k_EStartFindingMatchResult_FailedIgnore = 0x65, k_EStartFindingMatchResult_MatchmakingDisabled = 0x66, k_EStartFindingMatchResult_RegionOffline = 0x67, k_EStartFindingMatchResult_MatchmakingCooldown = 0x68, k_EStartFindingMatchResult_ClientOutOfDate = 0x69, k_EStartFindingMatchResult_CompetitiveNoLowPriority = 0x6a, k_EStartFindingMatchResult_CompetitiveNotUnlocked = 0x6b, k_EStartFindingMatchResult_GameModeNotUnlocked = 0x6c, k_EStartFindingMatchResult_CompetitiveNotEnoughPlayTime = 0x6d, k_EStartFindingMatchResult_MissingInitialSkill = 0x6e, k_EStartFindingMatchResult_CompetitiveRankSpreadTooLarge = 0x6f, k_EStartFindingMatchResult_MemberAlreadyInLobby = 0x70, k_EStartFindingMatchResult_MemberNotVACVerified = 0x71, k_EStartFindingMatchResult_WeekendTourneyBadPartySize = 0x72, k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooSmall = 0x73, k_EStartFindingMatchResult_WeekendTourneyIndividualBuyInTooLarge = 0x74, k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooLarge = 0x75, k_EStartFindingMatchResult_MemberMissingEventOwnership = 0x76, k_EStartFindingMatchResult_WeekendTourneyNotUnlocked = 0x77, k_EStartFindingMatchResult_WeekendTourneyRecentParticipation = 0x78, k_EStartFindingMatchResult_MemberMissingAnchoredPhoneNumber = 0x79, k_EStartFindingMatchResult_NotMemberOfClan = 0x7a, k_EStartFindingMatchResult_CoachesChallengeBadPartySize = 0x7b, k_EStartFindingMatchResult_CoachesChallengeRequirementsNotMet = 0x7c, k_EStartFindingMatchResult_InvalidRoleSelections = 0x7d, k_EStartFindingMatchResult_PhoneNumberDiscrepancy = 0x7e, k_EStartFindingMatchResult_NoQueuePoints = 0x7f, k_EStartFindingMatchResult_MemberMissingGauntletFlag = 0x80, k_EStartFindingMatchResult_MemberGauntletTooRecent = 0x81, k_EStartFindingMatchResult_DifficultyNotUnlocked = 0x82, k_EStartFindingMatchResult_CoachesNotAllowedInParty = 0x83, k_EStartFindingMatchResult_MatchmakingBusy = 0x84, k_EStartFindingMatchResult_SteamChinaBanned = 0x85, k_EStartFindingMatchResult_SteamChinaInvalidMixedParty = 0x86, }; // Alignment: 4 // Size: 0xe enum class ETeamInviteResult : uint32_t { TEAM_INVITE_SUCCESS = 0x0, TEAM_INVITE_FAILURE_INVITE_REJECTED = 0x1, TEAM_INVITE_FAILURE_INVITE_TIMEOUT = 0x2, TEAM_INVITE_ERROR_TEAM_AT_MEMBER_LIMIT = 0x3, TEAM_INVITE_ERROR_TEAM_LOCKED = 0x4, TEAM_INVITE_ERROR_INVITEE_NOT_AVAILABLE = 0x5, TEAM_INVITE_ERROR_INVITEE_BUSY = 0x6, TEAM_INVITE_ERROR_INVITEE_ALREADY_MEMBER = 0x7, TEAM_INVITE_ERROR_INVITEE_AT_TEAM_LIMIT = 0x8, TEAM_INVITE_ERROR_INVITEE_INSUFFICIENT_PLAY_TIME = 0x9, TEAM_INVITE_ERROR_INVITER_INVALID_ACCOUNT_TYPE = 0xa, TEAM_INVITE_ERROR_INVITER_NOT_ADMIN = 0xb, TEAM_INVITE_ERROR_INCORRECT_USER_RESPONDED = 0xc, TEAM_INVITE_ERROR_UNSPECIFIED = 0xd, }; // Alignment: 4 // Size: 0xc enum class ETournamentEvent : uint32_t { k_ETournamentEvent_None = 0x0, k_ETournamentEvent_TournamentCreated = 0x1, k_ETournamentEvent_TournamentsMerged = 0x2, k_ETournamentEvent_GameOutcome = 0x3, k_ETournamentEvent_TeamGivenBye = 0x4, k_ETournamentEvent_TournamentCanceledByAdmin = 0x5, k_ETournamentEvent_TeamAbandoned = 0x6, k_ETournamentEvent_ScheduledGameStarted = 0x7, k_ETournamentEvent_Canceled = 0x8, k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeRefund = 0x9, k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeForfeit = 0xa, k_ETournamentEvent_TeamParticipationTimedOut_GrantedVictory = 0xb, }; // Alignment: 4 // Size: 0x3 enum class ETeamFanContentStatus : uint32_t { TEAM_FAN_CONTENT_STATUS_INVALID = 0x0, TEAM_FAN_CONTENT_STATUS_PENDING = 0x1, TEAM_FAN_CONTENT_STATUS_EVALUATED = 0x2, }; // Alignment: 4 // Size: 0x9 enum class ETeamFanContentAssetType : uint32_t { k_eFanContentAssetType_LogoPNG = 0x1, k_eFanContentAssetType_LogoSVG = 0x2, k_eFanContentAssetType_Logo3D = 0x3, k_eFanContentAssetType_Players = 0x4, k_eFanContentAssetType_Sprays = 0x5, k_eFanContentAssetType_Wallpapers = 0x6, k_eFanContentAssetType_Emoticons = 0x7, k_eFanContentAssetType_VoiceLines = 0x8, k_eFanContentAssetType_Localization = 0x9, }; // Alignment: 4 // Size: 0x3 enum class ETeamFanContentAssetStatus : uint32_t { k_eFanContentAssetStatus_None = 0x0, k_eFanContentAssetStatus_Approved = 0x1, k_eFanContentAssetStatus_Rejected = 0x2, }; // Alignment: 4 // Size: 0x4 enum class PlayerOrderIssuer_t : uint32_t { DOTA_ORDER_ISSUER_SELECTED_UNITS = 0x0, DOTA_ORDER_ISSUER_CURRENT_UNIT_ONLY = 0x1, DOTA_ORDER_ISSUER_HERO_ONLY = 0x2, DOTA_ORDER_ISSUER_PASSED_UNIT_ONLY = 0x3, }; // Alignment: 4 // Size: 0x3 enum class OrderQueueBehavior_t : uint32_t { DOTA_ORDER_QUEUE_DEFAULT = 0x0, DOTA_ORDER_QUEUE_NEVER = 0x1, DOTA_ORDER_QUEUE_ALWAYS = 0x2, }; // Alignment: 4 // Size: 0x2 enum class NeutralCampStackPullAlarmType_t : uint32_t { DOTA_NEUTRAL_CAMP_STACK_PULL_ALARM_TYPE_STACK = 0x1, DOTA_NEUTRAL_CAMP_STACK_PULL_ALARM_TYPE_PULL = 0x2, }; // Alignment: 4 // Size: 0x8 enum class DOTAKeybindTemplate_t : uint32_t { DOTA_KEYBIND_TEMPLATE_ARROW = 0x0, DOTA_KEYBIND_TEMPLATE_WASD = 0x1, DOTA_KEYBIND_TEMPLATE_LEGACY = 0x2, DOTA_KEYBIND_TEMPLATE_MMO = 0x3, DOTA_KEYBIND_TEMPLATE_LOL = 0x4, DOTA_KEYBIND_TEMPLATE_HON = 0x5, DOTA_KEYBIND_TEMPLATE_SMITE = 0x6, DOTA_KEYBIND_TEMPLATE_COUNT = 0x7, }; // Alignment: 4 // Size: 0xf0 enum class DOTAKeybindCommand_t : uint32_t { DOTA_KEYBIND_NONE = 0x0, DOTA_KEYBIND_FIRST = 0x1, DOTA_KEYBIND_CAMERA_UP = 0x1, DOTA_KEYBIND_CAMERA_DOWN = 0x2, DOTA_KEYBIND_CAMERA_LEFT = 0x3, DOTA_KEYBIND_CAMERA_RIGHT = 0x4, DOTA_KEYBIND_CAMERA_GRIP = 0x5, DOTA_KEYBIND_CAMERA_YAW_GRIP = 0x6, DOTA_KEYBIND_CAMERA_SAVED_POSITION_1 = 0x7, DOTA_KEYBIND_CAMERA_SAVED_POSITION_2 = 0x8, DOTA_KEYBIND_CAMERA_SAVED_POSITION_3 = 0x9, DOTA_KEYBIND_CAMERA_SAVED_POSITION_4 = 0xa, DOTA_KEYBIND_CAMERA_SAVED_POSITION_5 = 0xb, DOTA_KEYBIND_CAMERA_SAVED_POSITION_6 = 0xc, DOTA_KEYBIND_CAMERA_SAVED_POSITION_7 = 0xd, DOTA_KEYBIND_CAMERA_SAVED_POSITION_8 = 0xe, DOTA_KEYBIND_CAMERA_SAVED_POSITION_9 = 0xf, DOTA_KEYBIND_CAMERA_SAVED_POSITION_10 = 0x10, DOTA_KEYBIND_HERO_ATTACK = 0x11, DOTA_KEYBIND_HERO_MOVE = 0x12, DOTA_KEYBIND_HERO_MOVE_DIRECTION = 0x13, DOTA_KEYBIND_PATROL = 0x14, DOTA_KEYBIND_HERO_STOP = 0x15, DOTA_KEYBIND_HERO_HOLD = 0x16, DOTA_KEYBIND_HERO_SELECT = 0x17, DOTA_KEYBIND_COURIER_SELECT = 0x18, DOTA_KEYBIND_COURIER_DELIVER = 0x19, DOTA_KEYBIND_COURIER_BURST = 0x1a, DOTA_KEYBIND_COURIER_SHIELD = 0x1b, DOTA_KEYBIND_PAUSE = 0x1c, DOTA_SELECT_ALL = 0x1d, DOTA_SELECT_ALL_OTHERS = 0x1e, DOTA_RECENT_EVENT = 0x1f, DOTA_KEYBIND_CHAT_TEAM = 0x20, DOTA_KEYBIND_CHAT_GLOBAL = 0x21, DOTA_KEYBIND_CHAT_TEAM2 = 0x22, DOTA_KEYBIND_CHAT_GLOBAL2 = 0x23, DOTA_KEYBIND_CHAT_VOICE_PARTY = 0x24, DOTA_KEYBIND_CHAT_VOICE_TEAM = 0x25, DOTA_KEYBIND_CHAT_WHEEL = 0x26, DOTA_KEYBIND_CHAT_WHEEL2 = 0x27, DOTA_KEYBIND_CHAT_WHEEL_CARE = 0x28, DOTA_KEYBIND_CHAT_WHEEL_BACK = 0x29, DOTA_KEYBIND_CHAT_WHEEL_NEED_WARDS = 0x2a, DOTA_KEYBIND_CHAT_WHEEL_STUN = 0x2b, DOTA_KEYBIND_CHAT_WHEEL_HELP = 0x2c, DOTA_KEYBIND_CHAT_WHEEL_GET_PUSH = 0x2d, DOTA_KEYBIND_CHAT_WHEEL_GOOD_JOB = 0x2e, DOTA_KEYBIND_CHAT_WHEEL_MISSING = 0x2f, DOTA_KEYBIND_CHAT_WHEEL_MISSING_TOP = 0x30, DOTA_KEYBIND_CHAT_WHEEL_MISSING_MIDDLE = 0x31, DOTA_KEYBIND_CHAT_WHEEL_MISSING_BOTTOM = 0x32, DOTA_KEYBIND_HERO_CHAT_WHEEL = 0x33, DOTA_KEYBIND_SPRAY_WHEEL = 0x34, DOTA_KEYBIND_ABILITY_PRIMARY1 = 0x35, DOTA_KEYBIND_ABILITY_PRIMARY2 = 0x36, DOTA_KEYBIND_ABILITY_PRIMARY3 = 0x37, DOTA_KEYBIND_ABILITY_SECONDARY1 = 0x38, DOTA_KEYBIND_ABILITY_SECONDARY2 = 0x39, DOTA_KEYBIND_ABILITY_ULTIMATE = 0x3a, DOTA_KEYBIND_TALENT_UPGRADE_LEFT = 0x3b, DOTA_KEYBIND_TALENT_UPGRADE_RIGHT = 0x3c, DOTA_KEYBIND_TALENT_UPGRADE_ATTRIBUTE = 0x3d, DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST = 0x3e, DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST = 0x3f, DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST = 0x40, DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST = 0x41, DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST = 0x42, DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST = 0x43, DOTA_KEYBIND_ABILITY_PRIMARY1_EXPLICIT_AUTOCAST = 0x44, DOTA_KEYBIND_ABILITY_PRIMARY2_EXPLICIT_AUTOCAST = 0x45, DOTA_KEYBIND_ABILITY_PRIMARY3_EXPLICIT_AUTOCAST = 0x46, DOTA_KEYBIND_ABILITY_SECONDARY1_EXPLICIT_AUTOCAST = 0x47, DOTA_KEYBIND_ABILITY_SECONDARY2_EXPLICIT_AUTOCAST = 0x48, DOTA_KEYBIND_ABILITY_ULTIMATE_EXPLICIT_AUTOCAST = 0x49, DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST_AUTOCAST = 0x4a, DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST_AUTOCAST = 0x4b, DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST_AUTOCAST = 0x4c, DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST_AUTOCAST = 0x4d, DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST_AUTOCAST = 0x4e, DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST_AUTOCAST = 0x4f, DOTA_KEYBIND_ABILITY_PRIMARY1_AUTOMATIC_AUTOCAST = 0x50, DOTA_KEYBIND_ABILITY_PRIMARY2_AUTOMATIC_AUTOCAST = 0x51, DOTA_KEYBIND_ABILITY_PRIMARY3_AUTOMATIC_AUTOCAST = 0x52, DOTA_KEYBIND_ABILITY_SECONDARY1_AUTOMATIC_AUTOCAST = 0x53, DOTA_KEYBIND_ABILITY_SECONDARY2_AUTOMATIC_AUTOCAST = 0x54, DOTA_KEYBIND_ABILITY_ULTIMATE_AUTOMATIC_AUTOCAST = 0x55, DOTA_KEYBIND_INVENTORY1 = 0x56, DOTA_KEYBIND_INVENTORY2 = 0x57, DOTA_KEYBIND_INVENTORY3 = 0x58, DOTA_KEYBIND_INVENTORY4 = 0x59, DOTA_KEYBIND_INVENTORY5 = 0x5a, DOTA_KEYBIND_INVENTORY6 = 0x5b, DOTA_KEYBIND_INVENTORYTP = 0x5c, DOTA_KEYBIND_INVENTORYNEUTRAL = 0x5d, DOTA_KEYBIND_INVENTORY1_QUICKCAST = 0x5e, DOTA_KEYBIND_INVENTORY2_QUICKCAST = 0x5f, DOTA_KEYBIND_INVENTORY3_QUICKCAST = 0x60, DOTA_KEYBIND_INVENTORY4_QUICKCAST = 0x61, DOTA_KEYBIND_INVENTORY5_QUICKCAST = 0x62, DOTA_KEYBIND_INVENTORY6_QUICKCAST = 0x63, DOTA_KEYBIND_INVENTORYTP_QUICKCAST = 0x64, DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKCAST = 0x65, DOTA_KEYBIND_INVENTORY1_AUTOCAST = 0x66, DOTA_KEYBIND_INVENTORY2_AUTOCAST = 0x67, DOTA_KEYBIND_INVENTORY3_AUTOCAST = 0x68, DOTA_KEYBIND_INVENTORY4_AUTOCAST = 0x69, DOTA_KEYBIND_INVENTORY5_AUTOCAST = 0x6a, DOTA_KEYBIND_INVENTORY6_AUTOCAST = 0x6b, DOTA_KEYBIND_INVENTORYTP_AUTOCAST = 0x6c, DOTA_KEYBIND_INVENTORYNEUTRAL_AUTOCAST = 0x6d, DOTA_KEYBIND_INVENTORY1_QUICKAUTOCAST = 0x6e, DOTA_KEYBIND_INVENTORY2_QUICKAUTOCAST = 0x6f, DOTA_KEYBIND_INVENTORY3_QUICKAUTOCAST = 0x70, DOTA_KEYBIND_INVENTORY4_QUICKAUTOCAST = 0x71, DOTA_KEYBIND_INVENTORY5_QUICKAUTOCAST = 0x72, DOTA_KEYBIND_INVENTORY6_QUICKAUTOCAST = 0x73, DOTA_KEYBIND_INVENTORYTP_QUICKAUTOCAST = 0x74, DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKAUTOCAST = 0x75, DOTA_KEYBIND_CONTROL_GROUP1 = 0x76, DOTA_KEYBIND_CONTROL_GROUP2 = 0x77, DOTA_KEYBIND_CONTROL_GROUP3 = 0x78, DOTA_KEYBIND_CONTROL_GROUP4 = 0x79, DOTA_KEYBIND_CONTROL_GROUP5 = 0x7a, DOTA_KEYBIND_CONTROL_GROUP6 = 0x7b, DOTA_KEYBIND_CONTROL_GROUP7 = 0x7c, DOTA_KEYBIND_CONTROL_GROUP8 = 0x7d, DOTA_KEYBIND_CONTROL_GROUP9 = 0x7e, DOTA_KEYBIND_CONTROL_GROUP10 = 0x7f, DOTA_KEYBIND_CONTROL_GROUPCYCLE = 0x80, DOTA_KEYBIND_SELECT_ALLY1 = 0x81, DOTA_KEYBIND_SELECT_ALLY2 = 0x82, DOTA_KEYBIND_SELECT_ALLY3 = 0x83, DOTA_KEYBIND_SELECT_ALLY4 = 0x84, DOTA_KEYBIND_SELECT_ALLY5 = 0x85, DOTA_KEYBIND_SHOP_TOGGLE = 0x86, DOTA_KEYBIND_SCOREBOARD_TOGGLE = 0x87, DOTA_KEYBIND_COMBATLOG_TOGGLE = 0x88, DOTA_KEYBIND_SCREENSHOT = 0x89, DOTA_KEYBIND_ESCAPE = 0x8a, DOTA_KEYBIND_CONSOLE = 0x8b, DOTA_KEYBIND_DEATH_SUMMARY = 0x8c, DOTA_KEYBIND_LEARN_ABILITIES = 0x8d, DOTA_KEYBIND_LEARN_STATS = 0x8e, DOTA_KEYBIND_ACTIVATE_GLYPH = 0x8f, DOTA_KEYBIND_ACTIVATE_RADAR = 0x90, DOTA_KEYBIND_PURCHASE_QUICKBUY = 0x91, DOTA_KEYBIND_PURCHASE_STICKY = 0x92, DOTA_KEYBIND_GRAB_STASH_ITEMS = 0x93, DOTA_KEYBIND_TOGGLE_AUTOATTACK = 0x94, DOTA_KEYBIND_TAUNT = 0x95, DOTA_KEYBIND_SHOP_CONSUMABLES = 0x96, DOTA_KEYBIND_SHOP_ATTRIBUTES = 0x97, DOTA_KEYBIND_SHOP_ARMAMENTS = 0x98, DOTA_KEYBIND_SHOP_ARCANE = 0x99, DOTA_KEYBIND_SHOP_BASICS = 0x9a, DOTA_KEYBIND_SHOP_SUPPORT = 0x9b, DOTA_KEYBIND_SHOP_CASTER = 0x9c, DOTA_KEYBIND_SHOP_WEAPONS = 0x9d, DOTA_KEYBIND_SHOP_ARMOR = 0x9e, DOTA_KEYBIND_SHOP_ARTIFACTS = 0x9f, DOTA_KEYBIND_SHOP_SIDE_PAGE_1 = 0xa0, DOTA_KEYBIND_SHOP_SIDE_PAGE_2 = 0xa1, DOTA_KEYBIND_SHOP_SECRET = 0xa2, DOTA_KEYBIND_SHOP_SEARCHBOX = 0xa3, DOTA_KEYBIND_SHOP_SLOT_1 = 0xa4, DOTA_KEYBIND_SHOP_SLOT_2 = 0xa5, DOTA_KEYBIND_SHOP_SLOT_3 = 0xa6, DOTA_KEYBIND_SHOP_SLOT_4 = 0xa7, DOTA_KEYBIND_SHOP_SLOT_5 = 0xa8, DOTA_KEYBIND_SHOP_SLOT_6 = 0xa9, DOTA_KEYBIND_SHOP_SLOT_7 = 0xaa, DOTA_KEYBIND_SHOP_SLOT_8 = 0xab, DOTA_KEYBIND_SHOP_SLOT_9 = 0xac, DOTA_KEYBIND_SHOP_SLOT_10 = 0xad, DOTA_KEYBIND_SHOP_SLOT_11 = 0xae, DOTA_KEYBIND_SHOP_SLOT_12 = 0xaf, DOTA_KEYBIND_SHOP_SLOT_13 = 0xb0, DOTA_KEYBIND_SHOP_SLOT_14 = 0xb1, DOTA_KEYBIND_SPEC_CAMERA_UP = 0xb2, DOTA_KEYBIND_SPEC_CAMERA_DOWN = 0xb3, DOTA_KEYBIND_SPEC_CAMERA_LEFT = 0xb4, DOTA_KEYBIND_SPEC_CAMERA_RIGHT = 0xb5, DOTA_KEYBIND_SPEC_CAMERA_GRIP = 0xb6, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_1 = 0xb7, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_2 = 0xb8, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_3 = 0xb9, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_4 = 0xba, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_5 = 0xbb, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_6 = 0xbc, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_7 = 0xbd, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_8 = 0xbe, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_9 = 0xbf, DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_10 = 0xc0, DOTA_KEYBIND_SPEC_UNIT_SELECT = 0xc1, DOTA_KEYBIND_SPEC_HERO_SELECT = 0xc2, DOTA_KEYBIND_SPEC_PAUSE = 0xc3, DOTA_KEYBIND_SPEC_CHAT = 0xc4, DOTA_KEYBIND_SPEC_SCOREBOARD = 0xc5, DOTA_KEYBIND_SPEC_INCREASE_REPLAY_SPEED = 0xc6, DOTA_KEYBIND_SPEC_DECREASE_REPLAY_SPEED = 0xc7, DOTA_KEYBIND_SPEC_STATS_HARVEST = 0xc8, DOTA_KEYBIND_SPEC_STATS_ITEM = 0xc9, DOTA_KEYBIND_SPEC_STATS_GOLD = 0xca, DOTA_KEYBIND_SPEC_STATS_XP = 0xcb, DOTA_KEYBIND_SPEC_STATS_FANTASY = 0xcc, DOTA_KEYBIND_SPEC_STATS_WINCHANCE = 0xcd, DOTA_KEYBIND_SPEC_FOW_TOGGLEBOTH = 0xce, DOTA_KEYBIND_SPEC_FOW_TOGGLERADIENT = 0xcf, DOTA_KEYBIND_SPEC_FOW_TOGGLEDIRE = 0xd0, DOTA_KEYBIND_SPEC_OPEN_BROADCASTER_MENU = 0xd1, DOTA_KEYBIND_SPEC_DROPDOWN_KDA = 0xd2, DOTA_KEYBIND_SPEC_DROPDOWN_LASTHITS_DENIES = 0xd3, DOTA_KEYBIND_SPEC_DROPDOWN_LEVEL = 0xd4, DOTA_KEYBIND_SPEC_DROPDOWN_XP_PER_MIN = 0xd5, DOTA_KEYBIND_SPEC_DROPDOWN_GOLD = 0xd6, DOTA_KEYBIND_SPEC_DROPDOWN_TOTALGOLD = 0xd7, DOTA_KEYBIND_SPEC_DROPDOWN_GOLD_PER_MIN = 0xd8, DOTA_KEYBIND_SPEC_DROPDOWN_BUYBACK = 0xd9, DOTA_KEYBIND_SPEC_DROPDOWN_NETWORTH = 0xda, DOTA_KEYBIND_SPEC_DROPDOWN_FANTASY = 0xdb, DOTA_KEYBIND_SPEC_DROPDOWN_SORT = 0xdc, DOTA_KEYBIND_SPEC_DROPDOWN_CLOSE = 0xdd, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_1 = 0xde, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_2 = 0xdf, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_3 = 0xe0, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_4 = 0xe1, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_5 = 0xe2, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_6 = 0xe3, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_7 = 0xe4, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_8 = 0xe5, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_9 = 0xe6, DOTA_KEYBIND_SPEC_FOCUS_PLAYER_10 = 0xe7, DOTA_KEYBIND_SPEC_COACH_VIEWTOGGLE = 0xe8, DOTA_KEYBIND_INSPECTHEROINWORLD = 0xe9, DOTA_KEYBIND_CAMERA_ZOOM_IN = 0xea, DOTA_KEYBIND_CAMERA_ZOOM_OUT = 0xeb, DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV = 0xec, DOTA_KEYBIND_DOTA_ALT = 0xed, DOTA_KEYBIND_COUNT = 0xee, }; // Alignment: 4 // Size: 0x4 enum class ECandyShopRewardOptionType : uint32_t { k_eCandyShopRewardOptionType_SingleItem = 0x0, k_eCandyShopRewardOptionType_LootList = 0x1, k_eCandyShopRewardOptionType_SingleEventAction = 0x2, k_eCandyShopRewardOptionType_EventPoints = 0x3, }; // Alignment: 4 // Size: 0x2 enum class StartupBehavior_t : uint32_t { UNIT_STARTUP_BEHAVIOR_DEFAULT = 0x0, UNIT_STARTUP_BEHAVIOR_TAUNT = 0x1, }; // Alignment: 4 // Size: 0x5 enum class PortraitDisplayMode_t : uint32_t { PORTRAIT_DISPLAY_MODE_INVALID = 0xffffffffffffffff, PORTRAIT_DISPLAY_MODE_LOADOUT = 0x0, PORTRAIT_DISPLAY_MODE_LOADOUT_DIRE = 0x1, PORTRAIT_DISPLAY_MODE_LOADOUT_SMALL = 0x2, PORTRAIT_DISPLAY_MODE_TREASURE_SMALL = 0x3, }; // Alignment: 4 // Size: 0x6 enum class PortraitScale_t : uint32_t { PORTRAIT_SCALE_INVALID = 0xffffffffffffffff, PORTRAIT_SCALE_LOADOUT = 0x0, PORTRAIT_SCALE_ALTERNATE_LOADOUT = 0x1, PORTRAIT_SCALE_WORLD = 0x2, PORTRAIT_SCALE_SPECTATOR_LOADOUT = 0x3, PORTRAIT_SCALE_VERSUS_LOADOUT = 0x4, }; // Alignment: 4 // Size: 0xa enum class DotaCustomUIType_t : uint32_t { DOTA_CUSTOM_UI_TYPE_HUD = 0x0, DOTA_CUSTOM_UI_TYPE_HERO_SELECTION = 0x1, DOTA_CUSTOM_UI_TYPE_PREGAME_STRATEGY = 0x2, DOTA_CUSTOM_UI_TYPE_GAME_INFO = 0x3, DOTA_CUSTOM_UI_TYPE_GAME_SETUP = 0x4, DOTA_CUSTOM_UI_TYPE_FLYOUT_SCOREBOARD = 0x5, DOTA_CUSTOM_UI_TYPE_HUD_TOP_BAR = 0x6, DOTA_CUSTOM_UI_TYPE_END_SCREEN = 0x7, DOTA_CUSTOM_UI_TYPE_COUNT = 0x8, DOTA_CUSTOM_UI_TYPE_INVALID = 0xffffffffffffffff, }; // Alignment: 4 // Size: 0x13 enum class SteamUGCQuery : uint32_t { RankedByVote = 0x0, RankedByPublicationDate = 0x1, AcceptedForGameRankedByAcceptanceDate = 0x2, RankedByTrend = 0x3, FavoritedByFriendsRankedByPublicationDate = 0x4, CreatedByFriendsRankedByPublicationDate = 0x5, RankedByNumTimesReported = 0x6, CreatedByFollowedUsersRankedByPublicationDate = 0x7, NotYetRated = 0x8, RankedByTotalVotesAsc = 0x9, RankedByVotesUp = 0xa, RankedByTextSearch = 0xb, RankedByTotalUniqueSubscriptions = 0xc, RankedByPlaytimeTrend = 0xd, RankedByTotalPlaytime = 0xe, RankedByAveragePlaytimeTrend = 0xf, RankedByLifetimeAveragePlaytime = 0x10, RankedByPlaytimeSessionsTrend = 0x11, RankedByLifetimePlaytimeSessions = 0x12, }; // Alignment: 4 // Size: 0xe enum class SteamUGCMatchingUGCType : uint32_t { Items = 0x0, Items_Mtx = 0x1, Items_ReadyToUse = 0x2, Collections = 0x3, Artwork = 0x4, Videos = 0x5, Screenshots = 0x6, AllGuides = 0x7, WebGuides = 0x8, IntegratedGuides = 0x9, UsableInGame = 0xa, ControllerBindings = 0xb, GameManagedItems = 0xc, All = 0xffffffffffffffff, }; // Alignment: 4 // Size: 0x5 enum class SteamUniverse : uint32_t { Invalid = 0x0, Internal = 0x3, Dev = 0x4, Beta = 0x2, Public = 0x1, }; // Alignment: 4 // Size: 0x4 enum class PlayerUltimateStateOrTime_t : uint32_t { PLAYER_ULTIMATE_STATE_READY = 0x0, PLAYER_ULTIMATE_STATE_NO_MANA = 0xffffffffffffffff, PLAYER_ULTIMATE_STATE_NOT_LEVELED = 0xfffffffffffffffe, PLAYER_ULTIMATE_STATE_HIDDEN = 0xfffffffffffffffd, }; // Alignment: 4 // Size: 0x3 enum class CDOTA_BaseNPC_AghsFort_Watch_Tower__ExitDirection_t : uint32_t { EXIT_DIRECTION_LEFT = 0x0, EXIT_DIRECTION_TOP = 0x1, EXIT_DIRECTION_RIGHT = 0x2, }; // Alignment: 4 // Size: 0x5 enum class EHighlightScoreComparison : uint32_t { k_eScoreLessThan = 0x0, k_eScoreLessThanOrEqual = 0x1, k_eScoreEqual = 0x2, k_eScoreGreaterThanOrEqual = 0x3, k_eScoreGreaterThan = 0x4, }; // Alignment: 4 // Size: 0x4 enum class EHighlightNumberFormat : uint32_t { k_eFloat = 0x0, k_eInteger = 0x1, k_ePercentage = 0x2, k_eTime = 0x3, }; // Alignment: 4 // Size: 0x19 enum class EHeroSelectionText : uint32_t { k_EHeroSelectionText_Invalid = 0xffffffffffffffff, k_EHeroSelectionText_None = 0x0, k_EHeroSelectionText_ChooseHero = 0x1, k_EHeroSelectionText_AllDraft_Planning_YouFirst = 0x2, k_EHeroSelectionText_AllDraft_Planning_TheyFirst = 0x3, k_EHeroSelectionText_AllDraft_Banning = 0x4, k_EHeroSelectionText_AllDraft_Ban_Waiting = 0x5, k_EHeroSelectionText_AllDraft_PickTwo = 0x6, k_EHeroSelectionText_AllDraft_PickOneMore = 0x7, k_EHeroSelectionText_AllDraft_PickOne = 0x8, k_EHeroSelectionText_AllDraft_WaitingRadiant = 0x9, k_EHeroSelectionText_AllDraft_WaitingDire = 0xa, k_EHeroSelectionText_AllDraft_TeammateRandomed = 0xb, k_EHeroSelectionText_AllDraft_YouPicking_LosingGold = 0xc, k_EHeroSelectionText_AllDraft_TheyPicking_LosingGold = 0xd, k_EHeroSelectionText_CaptainsMode_ChooseCaptain = 0xe, k_EHeroSelectionText_CaptainsMode_WaitingForChooseCaptain = 0xf, k_EHeroSelectionText_CaptainsMode_YouSelect = 0x10, k_EHeroSelectionText_CaptainsMode_TheySelect = 0x11, k_EHeroSelectionText_CaptainsMode_YouBan = 0x12, k_EHeroSelectionText_CaptainsMode_TheyBan = 0x13, k_EHeroSelectionText_RandomDraft_HeroReview = 0x14, k_EHeroSelectionText_RandomDraft_RoundDisplay = 0x15, k_EHeroSelectionText_RandomDraft_Waiting = 0x16, k_EHeroSelectionText_EventGame_BanPhase = 0x17, }; struct ChangeAccessorFieldPathIndex_t; struct CEntityIdentity; struct CScriptComponent; struct CGameSceneNode; struct CNetworkVarChainer; struct CSkeletonInstance; struct GameTime_t; struct C_fogplayerparams_t; struct audioparams_t; struct fogparams_t; struct CInButtonState; struct AmmoIndex_t; struct CBaseAnimGraphController; struct ModelConfigHandle_t; struct CEntityInstance; struct CGameSceneNodeHandle; struct CNetworkOriginCellCoordQuantizedVector; struct HSequence; struct CModelState; struct CBodyComponent; struct CNetworkTransmitComponent; struct GameTick_t; struct CRenderComponent; struct CCollisionProperty; struct CNetworkVelocityVector; struct CParticleProperty; struct C_EnvWindShared; struct C_RopeKeyframe; struct sky3dparams_t; struct C_SkyCamera; struct VPhysicsCollisionAttribute_t; struct CDecalInfo; struct AttachmentHandle_t; struct CAttributeManager; struct attrib_definition_index_t; struct C_EconItemView; struct ParticleIndex_t; struct CNetworkedSequenceOperation; struct C_CSequenceTransitioner2; struct AnimationUpdateListHandle_t; struct C_BaseAnimatingController; struct C_BaseAnimatingOverlayController; struct C_DOTAGameManager; struct C_DOTAGamerules; struct AbilityID_t; struct PlayerID_t; struct CountdownTimer; struct itemid_t; struct DOTA_AssassinMinigameNetworkState; struct MatchID_t; struct LeagueID_t; struct CDOTA_ArcanaDataEntity_DrowRanger; struct CDOTA_ArcanaDataEntity_FacelessVoid; struct CDOTA_ArcanaDataEntity_Razor; struct CModifierParams; struct CDOTA_Buff; struct sSpiritInfo; struct CNewParticleEffect; struct PeriodicResourceID_t; struct item_definition_index_t; struct GuildID_t; struct CavernCrawlMapVariant_t; struct C_DOTA_UnitInventory; struct CandyShopCandyTypeID_t; struct CandyShopRewardOptionID_t; struct CandyShopID_t; struct C_DOTASpectatorGraphManager; struct CEntityIOOutput; struct C_PointCamera; struct C_CommandContext; struct CSkillFloat; struct CHitboxComponent; struct CGlowProperty; struct CNetworkViewOffsetVector; struct CClientAlphaProperty; struct C_RopeKeyframe::CPhysicsDelegate; struct CPointOffScreenIndicatorUi; struct C_PointClientUIWorldPanel; struct style_index_t; struct CAttributeList; struct C_DOTABaseAbility; struct C_DOTA_BaseNPC; struct CLightComponent; struct CBaseAnimGraph; struct PhysicsRagdollPose_t; struct CAttributeContainer; struct CPlayer_WeaponServices; struct CPlayer_ItemServices; struct CPlayer_AutoaimServices; struct CPlayer_ObserverServices; struct CPlayer_WaterServices; struct CPlayer_UseServices; struct CPlayer_FlashlightServices; struct CPlayer_CameraServices; struct CPlayer_MovementServices; struct CDOTA_ModifierManager; struct CAnnouncerDescriptor; // Alignment: 11 // Size: 0x78 class CEntityIdentity { private: [[maybe_unused]] uint8_t __pad0000[0x14]; // 0x0 public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" int32_t m_nameStringableIndex; // 0x14 CUtlSymbolLarge m_name; // 0x18 CUtlSymbolLarge m_designerName; // 0x20 private: [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: uint32_t m_flags; // 0x30 private: [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 public: // MNetworkDisable WorldGroupId_t m_worldGroupId; // 0x38 uint32_t m_fDataObjectTypes; // 0x3c // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40 private: [[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42 public: CEntityIdentity* m_pPrev; // 0x58 CEntityIdentity* m_pNext; // 0x60 CEntityIdentity* m_pPrevByClass; // 0x68 CEntityIdentity* m_pNextByClass; // 0x70 }; // Alignment: 3 // Size: 0x30 class CEntityInstance : public IHandleEntity { public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" CEntityIdentity* m_pEntity; // 0x10 private: [[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18 public: // MNetworkEnable // MNetworkDisable CScriptComponent* m_CScriptComponent; // 0x28 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent { private: [[maybe_unused]] uint8_t __pad0008[0x28]; // 0x8 public: CUtlSymbolLarge m_scriptClassName; // 0x30 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x50 class CBodyComponent : public CEntityComponent { public: // MNetworkDisable CGameSceneNode* m_pSceneNode; // 0x8 private: [[maybe_unused]] uint8_t __pad0010[0x10]; // 0x10 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x20 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x10 class CGameSceneNodeHandle { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable CEntityHandle m_hOwner; // 0x8 // MNetworkEnable CUtlStringToken m_name; // 0xc }; // Alignment: 33 // Size: 0x150 class CGameSceneNode { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // MNetworkDisable CTransform m_nodeToWorld; // 0x10 // MNetworkDisable CEntityInstance* m_pOwner; // 0x30 // MNetworkDisable CGameSceneNode* m_pParent; // 0x38 // MNetworkDisable CGameSceneNode* m_pChild; // 0x40 // MNetworkDisable CGameSceneNode* m_pNextSibling; // 0x48 private: [[maybe_unused]] uint8_t __pad0050[0x20]; // 0x50 public: // MNetworkEnable // MNetworkSerializer "gameSceneNode" // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" // MNetworkPriority "32" // MNetworkVarEmbeddedFieldOffsetDelta "8" CGameSceneNodeHandle m_hParent; // 0x70 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Origin" // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 private: [[maybe_unused]] uint8_t __pad00b0[0x8]; // 0xb0 public: // MNetworkEnable // MNetworkPriority "32" // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" QAngle m_angRotation; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" // MNetworkPriority "32" float m_flScale; // 0xc4 // MNetworkDisable Vector m_vecAbsOrigin; // 0xc8 // MNetworkDisable QAngle m_angAbsRotation; // 0xd4 // MNetworkDisable float m_flAbsScale; // 0xe0 // MNetworkDisable int16_t m_nParentAttachmentOrBone; // 0xe4 // MNetworkDisable bool m_bDebugAbsOriginChanges; // 0xe6 // MNetworkDisable bool m_bDormant; // 0xe7 // MNetworkDisable bool m_bForceParentToBeNetworked; // 0xe8 struct { // MNetworkDisable uint8_t m_bDirtyHierarchy: 1; // MNetworkDisable uint8_t m_bDirtyBoneMergeInfo: 1; // MNetworkDisable uint8_t m_bNetworkedPositionChanged: 1; // MNetworkDisable uint8_t m_bNetworkedAnglesChanged: 1; // MNetworkDisable uint8_t m_bNetworkedScaleChanged: 1; // MNetworkDisable uint8_t m_bWillBeCallingPostDataUpdate: 1; // MNetworkDisable uint8_t m_bNotifyBoneTransformsChanged: 1; // MNetworkDisable uint8_t m_bBoneMergeFlex: 1; // MNetworkDisable uint8_t m_nLatchAbsOrigin: 2; // MNetworkDisable uint8_t m_bDirtyBoneMergeBoneToRoot: 1; uint16_t __pad0: 13; }; // 24 bits // MNetworkDisable uint8_t m_nHierarchicalDepth; // 0xeb // MNetworkDisable uint8_t m_nHierarchyType; // 0xec // MNetworkDisable uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0xed private: [[maybe_unused]] uint8_t __pad00ee[0x2]; // 0xee public: // MNetworkEnable CUtlStringToken m_name; // 0xf0 private: [[maybe_unused]] uint8_t __pad00f4[0x3c]; // 0xf4 public: // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" CUtlStringToken m_hierarchyAttachName; // 0x130 // MNetworkDisable float m_flZOffset; // 0x134 // MNetworkDisable Vector m_vRenderOrigin; // 0x138 }; // Alignment: 1 // Size: 0x28 class CHitboxComponent : public CEntityComponent { private: [[maybe_unused]] uint8_t __pad0008[0x1c]; // 0x8 public: // MNetworkEnable uint32_t m_bvDisabledHitGroups[1]; // 0x24 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 70 // Size: 0x1d0 class CLightComponent : public CEntityComponent { private: [[maybe_unused]] uint8_t __pad0008[0x40]; // 0x8 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x48 private: [[maybe_unused]] uint8_t __pad0070[0x15]; // 0x70 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" Color m_Color; // 0x85 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" Color m_SecondaryColor; // 0x89 private: [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBrightness; // 0x90 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBrightnessScale; // 0x94 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBrightnessMult; // 0x98 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flRange; // 0x9c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFalloff; // 0xa0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation0; // 0xa4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation1; // 0xa8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation2; // 0xac // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flTheta; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flPhi; // 0xb4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCascades; // 0xc0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCastShadows; // 0xc4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowWidth; // 0xc8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowHeight; // 0xcc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderDiffuse; // 0xd0 private: [[maybe_unused]] uint8_t __pad00d1[0x3]; // 0xd1 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nRenderSpecular; // 0xd4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderTransmissive; // 0xd8 private: [[maybe_unused]] uint8_t __pad00d9[0x3]; // 0xd9 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flOrthoLightWidth; // 0xdc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flOrthoLightHeight; // 0xe0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nStyle; // 0xe4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CUtlString m_Pattern; // 0xe8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCascadeRenderStaticObjects; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeCrossFade; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistanceFade; // 0xf8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance0; // 0xfc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance1; // 0x100 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance2; // 0x104 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance3; // 0x108 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution0; // 0x10c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution1; // 0x110 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution2; // 0x114 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution3; // 0x118 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nBakeLightIndex; // 0x11c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBakeLightIndexScale; // 0x120 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bUsesIndexedBakedLighting; // 0x124 private: [[maybe_unused]] uint8_t __pad0125[0x3]; // 0x125 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nPriority; // 0x128 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowPriority; // 0x12c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nBakedShadowIndex; // 0x130 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderToCubemaps; // 0x134 private: [[maybe_unused]] uint8_t __pad0135[0x3]; // 0x135 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CUtlSymbolLarge m_LightGroups; // 0x138 // MNetworkEnable int32_t m_nDirectLight; // 0x140 // MNetworkEnable int32_t m_nIndirectLight; // 0x144 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFadeMinDist; // 0x148 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFadeMaxDist; // 0x14c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowFadeMinDist; // 0x150 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowFadeMaxDist; // 0x154 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bEnabled; // 0x158 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bFlicker; // 0x159 // MNetworkEnable bool m_bPrecomputedFieldsValid; // 0x15a private: [[maybe_unused]] uint8_t __pad015b[0x1]; // 0x15b public: // MNetworkEnable Vector m_vPrecomputedBoundsMins; // 0x15c // MNetworkEnable Vector m_vPrecomputedBoundsMaxs; // 0x168 // MNetworkEnable Vector m_vPrecomputedOBBOrigin; // 0x174 // MNetworkEnable QAngle m_vPrecomputedOBBAngles; // 0x180 // MNetworkEnable Vector m_vPrecomputedOBBExtent; // 0x18c // MNetworkEnable float m_flPrecomputedMaxRange; // 0x198 // MNetworkEnable int32_t m_nFogLightingMode; // 0x19c // MNetworkEnable float m_flFogContributionStength; // 0x1a0 // MNetworkEnable float m_flNearClipPlane; // 0x1a4 // MNetworkEnable Color m_SkyColor; // 0x1a8 // MNetworkEnable float m_flSkyIntensity; // 0x1ac // MNetworkEnable Color m_SkyAmbientBounce; // 0x1b0 // MNetworkEnable bool m_bUseSecondaryColor; // 0x1b4 // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" bool m_bMixedShadows; // 0x1b5 private: [[maybe_unused]] uint8_t __pad01b6[0x2]; // 0x1b6 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" GameTime_t m_flLightStyleStartTime; // 0x1b8 // MNetworkEnable float m_flCapsuleLength; // 0x1bc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flMinRoughness; // 0x1c0 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; 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("CLightComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 5 // Size: 0xd8 class CRenderComponent : public CEntityComponent { private: [[maybe_unused]] uint8_t __pad0008[0x8]; // 0x8 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x10 private: [[maybe_unused]] uint8_t __pad0038[0x18]; // 0x38 public: bool m_bIsRenderingWithViewModels; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: uint32_t m_nSplitscreenFlags; // 0x54 private: [[maybe_unused]] uint8_t __pad0058[0x8]; // 0x58 public: bool m_bEnableRendering; // 0x60 private: [[maybe_unused]] uint8_t __pad0061[0x4f]; // 0x61 public: bool m_bInterpolationReadyToDraw; // 0xb0 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x28 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 2 // Size: 0x78 class C_CommandContext { public: bool needsprocessing; // 0x0 int32_t command_number; // 0x70 }; // Alignment: 0 // Size: 0x40 class CPlayer_AutoaimServices : public CPlayerPawnComponent { public: // No members available }; // Alignment: 5 // Size: 0x78 struct audioparams_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkEncoder Vector localSound[8]; // 0x8 // MNetworkEnable int32_t soundscapeIndex; // 0x68 // MNetworkEnable uint8_t localBits; // 0x6c private: [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d public: // MNetworkEnable int32_t soundscapeEntityListIndex; // 0x70 // MNetworkEnable uint32_t soundEventHash; // 0x74 }; // Alignment: 25 // Size: 0x68 struct fogparams_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkEncoder Vector dirPrimary; // 0x8 // MNetworkEnable Color colorPrimary; // 0x14 // MNetworkEnable Color colorSecondary; // 0x18 // MNetworkEnable // MNetworkUserGroup "FogController" Color colorPrimaryLerpTo; // 0x1c // MNetworkEnable // MNetworkUserGroup "FogController" Color colorSecondaryLerpTo; // 0x20 // MNetworkEnable float start; // 0x24 // MNetworkEnable float end; // 0x28 // MNetworkEnable // MNetworkUserGroup "FogController" float farz; // 0x2c // MNetworkEnable float maxdensity; // 0x30 // MNetworkEnable float exponent; // 0x34 // MNetworkEnable float HDRColorScale; // 0x38 // MNetworkEnable // MNetworkUserGroup "FogController" float skyboxFogFactor; // 0x3c // MNetworkEnable // MNetworkUserGroup "FogController" float skyboxFogFactorLerpTo; // 0x40 // MNetworkEnable // MNetworkUserGroup "FogController" float startLerpTo; // 0x44 // MNetworkEnable // MNetworkUserGroup "FogController" float endLerpTo; // 0x48 // MNetworkEnable // MNetworkUserGroup "FogController" float maxdensityLerpTo; // 0x4c // MNetworkEnable // MNetworkUserGroup "FogController" GameTime_t lerptime; // 0x50 // MNetworkEnable // MNetworkUserGroup "FogController" float duration; // 0x54 // MNetworkEnable // MNetworkUserGroup "FogController" float blendtobackground; // 0x58 // MNetworkEnable // MNetworkUserGroup "FogController" float scattering; // 0x5c // MNetworkEnable // MNetworkUserGroup "FogController" float locallightscale; // 0x60 // MNetworkEnable bool enable; // 0x64 // MNetworkEnable bool blend; // 0x65 // MNetworkEnable bool m_bNoReflectionFog; // 0x66 bool m_bPadding; // 0x67 }; // Alignment: 0 // Size: 0x40 class CPlayer_FlashlightServices : public CPlayerPawnComponent { public: // No members available }; // Alignment: 0 // Size: 0x40 class CPlayer_ItemServices : public CPlayerPawnComponent { public: // No members available }; // Alignment: 14 // Size: 0x1b8 class CPlayer_MovementServices : public CPlayerPawnComponent { public: int32_t m_nImpulse; // 0x40 private: [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 public: CInButtonState m_nButtons; // 0x48 uint64_t m_nQueuedButtonDownMask; // 0x68 uint64_t m_nQueuedButtonChangeMask; // 0x70 uint64_t m_nButtonDoublePressed; // 0x78 uint32_t m_pButtonPressedCmdNumber[64]; // 0x80 uint32_t m_nLastCommandNumberProcessed; // 0x180 private: [[maybe_unused]] uint8_t __pad0184[0x4]; // 0x184 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" uint64_t m_nToggleButtonDownMask; // 0x188 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0.000000" // MNetworkMaxValue "2048.000000" // MNetworkEncodeFlags float m_flMaxspeed; // 0x190 // MNetworkEnable float m_flForceSubtickMoveWhen; // 0x194 float m_flForwardMove; // 0x198 float m_flLeftMove; // 0x19c float m_flUpMove; // 0x1a0 QAngle m_vecOldViewAngles; // 0x1a4 }; // Alignment: 12 // Size: 0x1f8 class CPlayer_MovementServices_Humanoid : public CPlayer_MovementServices { public: float m_flStepSoundTime; // 0x1b8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096.000000" // MNetworkMaxValue "4096.000000" // MNetworkEncodeFlags float m_flFallVelocity; // 0x1bc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bInCrouch; // 0x1c0 private: [[maybe_unused]] uint8_t __pad01c1[0x3]; // 0x1c1 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" uint32_t m_nCrouchState; // 0x1c4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" GameTime_t m_flCrouchTransitionStartTime; // 0x1c8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bDucked; // 0x1cc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bDucking; // 0x1cd // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bInDuckJump; // 0x1ce private: [[maybe_unused]] uint8_t __pad01cf[0x1]; // 0x1cf public: Vector m_groundNormal; // 0x1d0 float m_flSurfaceFriction; // 0x1dc CUtlStringToken m_surfaceProps; // 0x1e0 private: [[maybe_unused]] uint8_t __pad01e4[0xc]; // 0x1e4 public: int32_t m_nStepside; // 0x1f0 }; // Alignment: 5 // Size: 0x58 class CPlayer_ObserverServices : public CPlayerPawnComponent { public: // MNetworkEnable // MNetworkChangeCallback "OnObserverModeChanged" uint8_t m_iObserverMode; // 0x40 private: [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: // MNetworkEnable // MNetworkChangeCallback "OnObserverTargetChanged" CHandle< C_BaseEntity > m_hObserverTarget; // 0x44 ObserverMode_t m_iObserverLastMode; // 0x48 bool m_bForcedObserverMode; // 0x4c private: [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d public: float m_flObserverChaseDistance; // 0x50 }; // Alignment: 0 // Size: 0x40 class CPlayer_UseServices : public CPlayerPawnComponent { public: // No members available }; // Alignment: 0 // Size: 0x40 class CPlayer_WaterServices : public CPlayerPawnComponent { public: // No members available }; // Alignment: 5 // Size: 0xa8 class CPlayer_WeaponServices : public CPlayerPawnComponent { public: bool m_bAllowSwitchToNoWeapon; // 0x40 private: [[maybe_unused]] uint8_t __pad0041[0x7]; // 0x41 public: // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x48 // MNetworkEnable CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x60 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x64 // MNetworkEnable uint16_t m_iAmmo[32]; // 0x68 }; // Alignment: 23 // Size: 0x310 class CBasePlayerWeaponVData { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // MPropertyDescription "The name of the weapon entity to spawn for this NPC weapon." CUtlString m_szClassName; // 0x10 // MPropertyDescription "Model used on the ground or held by an entity" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x18 // MPropertyDescription "Was the weapon was built right-handed?" // MPropertyGroupName "Visuals" bool m_bBuiltRightHanded; // 0xf8 // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" // MPropertyGroupName "Visuals" bool m_bAllowFlipping; // 0xf9 bool m_bIsFullAuto; // 0xfa private: [[maybe_unused]] uint8_t __pad00fb[0x1]; // 0xfb public: int32_t m_nNumBullets; // 0xfc // MPropertyGroupName "Visuals" // MPropertyDescription "Attachment to fire bullets from" // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" CUtlString m_sMuzzleAttachment; // 0x100 // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x108 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1e8 ItemFlagTypes_t m_iFlags; // 0x2c8 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType AmmoIndex_t m_nPrimaryAmmoType; // 0x2c9 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType AmmoIndex_t m_nSecondaryAmmoType; // 0x2ca private: [[maybe_unused]] uint8_t __pad02cb[0x1]; // 0x2cb public: // MPropertyFriendlyName "Primary Clip Size" // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 255" // MPropertyGroupName "Ammo" int32_t m_iMaxClip1; // 0x2cc // MPropertyFriendlyName "Secondary Clip Size" // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "0 255" int32_t m_iMaxClip2; // 0x2d0 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" int32_t m_iDefaultClip1; // 0x2d4 // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" int32_t m_iDefaultClip2; // 0x2d8 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" int32_t m_iWeight; // 0x2dc // MPropertyFriendlyName "Safe To Auto-Switch To" // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" // MPropertyGroupName "UI" bool m_bAutoSwitchTo; // 0x2e0 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" bool m_bAutoSwitchFrom; // 0x2e1 private: [[maybe_unused]] uint8_t __pad02e2[0x2]; // 0x2e2 public: // MPropertyGroupName "UI" RumbleEffect_t m_iRumbleEffect; // 0x2e4 CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x2e8 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" int32_t m_iSlot; // 0x308 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" int32_t m_iPosition; // 0x30c }; // Alignment: 7 // Size: 0x230 class CModelState { private: [[maybe_unused]] uint8_t __pad0000[0xa0]; // 0x0 public: // MNetworkEnable // MNetworkChangeCallback "skeletonModelChanged" CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable CUtlSymbolLarge m_ModelName; // 0xa8 private: [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 public: // MNetworkEnable bool m_bClientClothCreationSuppressed; // 0xe8 private: [[maybe_unused]] uint8_t __pad00e9[0x97]; // 0xe9 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" uint64_t m_MeshGroupMask; // 0x180 private: [[maybe_unused]] uint8_t __pad0188[0x9a]; // 0x188 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" int8_t m_nIdealMotionType; // 0x222 // MNetworkDisable int8_t m_nForceLOD; // 0x223 // MNetworkDisable int8_t m_nClothUpdateFlags; // 0x224 }; // Alignment: 2 // Size: 0x48 struct EntityRenderAttribute_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable CUtlStringToken m_ID; // 0x30 // MNetworkEnable Vector4D m_Values; // 0x34 }; // Alignment: 4 // Size: 0x68 struct ActiveModelConfig_t { private: [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 public: // MNetworkEnable ModelConfigHandle_t m_Handle; // 0x28 private: [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c public: // MNetworkEnable CUtlSymbolLarge m_Name; // 0x30 // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x38 // MNetworkEnable C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x50 }; // Alignment: 8 // Size: 0x3f0 class CSkeletonInstance : public CGameSceneNode { private: [[maybe_unused]] uint8_t __pad0150[0x10]; // 0x150 public: // MNetworkEnable CModelState m_modelState; // 0x160 // MNetworkEnable bool m_bIsAnimationEnabled; // 0x390 // MNetworkEnable bool m_bUseParentRenderBounds; // 0x391 // MNetworkDisable bool m_bDisableSolidCollisionsForHierarchy; // 0x392 struct { // MNetworkDisable uint8_t m_bDirtyMotionType: 1; // MNetworkDisable uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; uint16_t __pad1: 14; }; // 16 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" CUtlStringToken m_materialGroup; // 0x394 // MNetworkEnable uint8_t m_nHitboxSet; // 0x398 }; // Alignment: 2 // Size: 0x470 class CBodyComponentSkeletonInstance : public CBodyComponent { public: // MNetworkEnable CSkeletonInstance m_skeletonInstance; // 0x50 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x440 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; 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("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x1d0 class CBodyComponentPoint : public CBodyComponent { public: // MNetworkEnable CGameSceneNode m_sceneNode; // 0x50 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x1a0 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; }; // Alignment: 8 // Size: 0x28 class CNetworkedSequenceOperation { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" float m_flCycle; // 0x10 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags CNetworkedQuantizedFloat m_flWeight; // 0x14 // MNetworkDisable bool m_bSequenceChangeNetworked; // 0x1c // MNetworkDisable bool m_bDiscontinuity; // 0x1d private: [[maybe_unused]] uint8_t __pad001e[0x2]; // 0x1e public: // MNetworkDisable float m_flPrevCycleFromDiscontinuity; // 0x20 // MNetworkDisable float m_flPrevCycleForAnimEventDetection; // 0x24 }; // Alignment: 1 // Size: 0x4a0 class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x470 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; // Alignment: 13 // Size: 0xc0 class CBaseAnimGraphController : public CSkeletonAnimationController { public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChangedCompat" CNetworkedSequenceOperation m_baseLayer; // 0x10 // MNetworkDisable bool m_bSequenceFinished; // 0x38 private: [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MNetworkDisable float m_flLastEventCycle; // 0x3c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "5.000000" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChangedCompat" CNetworkedQuantizedFloat m_flPlaybackRate; // 0x40 // MNetworkDisable float m_flPrevAnimTime; // 0x48 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChangedCompat" bool m_bClientSideAnimation; // 0x4c // MNetworkDisable bool m_bNetworkedAnimationInputsChanged; // 0x4d // MNetworkDisable uint8_t m_nPrevNewSequenceParity; // 0x4e // MNetworkDisable uint8_t m_nPrevResetEventsParity; // 0x4f // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleResetCompat" int32_t m_nNewSequenceParity; // 0x50 // MNetworkEnable // MNetworkPriority "32" int32_t m_nResetEventsParity; // 0x54 // MNetworkEnable AnimLoopMode_t m_nAnimLoopMode; // 0x58 private: [[maybe_unused]] uint8_t __pad005c[0xc]; // 0x5c public: // MNetworkDisable HSequence m_hLastAnimEventSequence; // 0x68 }; // Alignment: 2 // Size: 0x10 class IntervalTimer { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable GameTime_t m_timestamp; // 0x8 // MNetworkEnable WorldGroupId_t m_nWorldGroupId; // 0xc }; // Alignment: 4 // Size: 0x18 class CountdownTimer { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable float m_duration; // 0x8 // MNetworkEnable GameTime_t m_timestamp; // 0xc // MNetworkEnable float m_timescale; // 0x10 // MNetworkEnable WorldGroupId_t m_nWorldGroupId; // 0x14 }; // Alignment: 3 // Size: 0x18 class EngineCountdownTimer { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable float m_duration; // 0x8 // MNetworkEnable float m_timestamp; // 0xc // MNetworkEnable float m_timescale; // 0x10 }; // Alignment: 7 // Size: 0x228 class CTimeline : public IntervalTimer { public: // MNetworkEnable float m_flValues[64]; // 0x10 // MNetworkEnable int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable int32_t m_nBucketCount; // 0x210 // MNetworkEnable float m_flInterval; // 0x214 // MNetworkEnable float m_flFinalValue; // 0x218 // MNetworkEnable TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable bool m_bStopped; // 0x220 }; // Alignment: 20 // Size: 0x1138 class CAnimGraphNetworkedVariables { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetBoolVarChanged" // MNetworkAlias "m_PredBoolVariables" C_NetworkUtlVectorBase< uint32 > m_PredNetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetByteVarChanged" // MNetworkAlias "m_PredByteVariables" C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt16VarChanged" // MNetworkAlias "m_PredUInt16Variables" C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetIntVarChanged" // MNetworkAlias "m_PredIntVariables" C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetUInt32VarChanged" // MNetworkAlias "m_PredUInt32Variables" C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetFloatVarChanged" // MNetworkAlias "m_PredFloatVariables" C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVectorVarChanged" // MNetworkAlias "m_PredVectorVariables" C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetQuaternionVarChanged" // MNetworkAlias "m_PredQuaternionVariables" C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOBoolVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetBoolVariables" C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOByteVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetByteVariables" C_NetworkUtlVectorBase< uint8 > m_OwnerOnlyPredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt16VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt16Variables" C_NetworkUtlVectorBase< uint16 > m_OwnerOnlyPredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOIntVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetIntVariables" C_NetworkUtlVectorBase< int32 > m_OwnerOnlyPredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOUInt32VarChanged" // MNetworkAlias "m_OwnerOnlyPredNetUInt32Variables" C_NetworkUtlVectorBase< uint32 > m_OwnerOnlyPredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOFloatVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetFloatVariables" C_NetworkUtlVectorBase< float32 > m_OwnerOnlyPredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOVectorVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetVectorVariables" C_NetworkUtlVectorBase< Vector > m_OwnerOnlyPredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetOOQuaternionVarChanged" // MNetworkAlias "m_OwnerOnlyPredNetQuaternionVariables" C_NetworkUtlVectorBase< Quaternion > m_OwnerOnlyPredNetQuaternionVariables; // 0x170 // MNetworkEnable int32_t m_nBoolVariablesCount; // 0x188 // MNetworkEnable int32_t m_nOwnerOnlyBoolVariablesCount; // 0x18c // MNetworkEnable int32_t m_nRandomSeedOffset; // 0x190 private: [[maybe_unused]] uint8_t __pad0194[0xf8c]; // 0x194 public: // MNetworkEnable // MNetworkUserGroup "animationgraph" float m_flLastTeleportTime; // 0x1120 }; // Alignment: 82 // Size: 0x528 class C_BaseEntity : public CEntityInstance { public: // MNetworkEnable // MNetworkUserGroup "CBodyComponent" // MNetworkAlias "CBodyComponent" // MNetworkTypeAlias "CBodyComponent" // MNetworkPriority "48" CBodyComponent* m_CBodyComponent; // 0x30 CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x38 private: [[maybe_unused]] uint8_t __pad01d8[0x120]; // 0x1d8 public: GameTick_t m_nLastThinkTick; // 0x2f8 private: [[maybe_unused]] uint8_t __pad02fc[0x4]; // 0x2fc public: CGameSceneNode* m_pGameSceneNode; // 0x300 CRenderComponent* m_pRenderComponent; // 0x308 CCollisionProperty* m_pCollision; // 0x310 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" int32_t m_iMaxHealth; // 0x318 // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" int32_t m_iHealth; // 0x31c // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" uint8_t m_lifeState; // 0x320 // MNetworkEnable DamageOptions_t m_takedamage; // 0x321 // MNetworkEnable bool m_bTakesDamage; // 0x322 private: [[maybe_unused]] uint8_t __pad0323[0x1]; // 0x323 public: // MNetworkEnable TakeDamageFlags_t m_nTakeDamageFlags; // 0x324 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationFrameChanged" uint8_t m_ubInterpolationFrame; // 0x328 private: [[maybe_unused]] uint8_t __pad0329[0x3]; // 0x329 public: CHandle< C_BaseEntity > m_hSceneObjectController; // 0x32c int32_t m_nNoInterpolationTick; // 0x330 int32_t m_nVisibilityNoInterpolationTick; // 0x334 float m_flProxyRandomValue; // 0x338 int32_t m_iEFlags; // 0x33c uint8_t m_nWaterType; // 0x340 bool m_bInterpolateEvenWithNoModel; // 0x341 bool m_bPredictionEligible; // 0x342 bool m_bApplyLayerMatchIDToModel; // 0x343 CUtlStringToken m_tokLayerMatchID; // 0x344 // MNetworkEnable // MNetworkChangeCallback "OnSubclassIDChanged" CUtlStringToken m_nSubclassID; // 0x348 private: [[maybe_unused]] uint8_t __pad034c[0xc]; // 0x34c public: int32_t m_nSimulationTick; // 0x358 int32_t m_iCurrentThinkContext; // 0x35c CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x360 // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkChangeCallback "OnAnimTimeChanged" float m_flAnimTime; // 0x378 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" // MNetworkChangeCallback "OnSimulationTimeChanged" float m_flSimulationTime; // 0x37c uint8_t m_nSceneObjectOverrideFlags; // 0x380 bool m_bHasSuccessfullyInterpolated; // 0x381 bool m_bHasAddedVarsToInterpolation; // 0x382 bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x383 int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x384 uint16_t m_ListEntry[11]; // 0x38c private: [[maybe_unused]] uint8_t __pad03a2[0x2]; // 0x3a2 public: // MNetworkEnable GameTime_t m_flCreateTime; // 0x3a4 float m_flSpeed; // 0x3a8 uint16_t m_EntClientFlags; // 0x3ac // MNetworkEnable bool m_bClientSideRagdoll; // 0x3ae // MNetworkEnable // MNetworkChangeCallback "OnNetVarTeamNumChanged" uint8_t m_iTeamNum; // 0x3af // MNetworkEnable uint32_t m_spawnflags; // 0x3b0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" GameTick_t m_nNextThinkTick; // 0x3b4 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" uint32_t m_fFlags; // 0x3b8 Vector m_vecAbsVelocity; // 0x3bc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkChangeCallback "OnLocalVelocityChanged" // MNetworkPriority "32" CNetworkVelocityVector m_vecVelocity; // 0x3c8 private: [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 public: // MNetworkEnable CHandle< C_BaseEntity > m_hEffectEntity; // 0x3f8 // MNetworkEnable // MNetworkPriority "32" CHandle< C_BaseEntity > m_hOwnerEntity; // 0x3fc // MNetworkEnable MoveCollide_t m_MoveCollide; // 0x400 // MNetworkEnable // MNetworkChangeCallback "OnMoveTypeChanged" MoveType_t m_MoveType; // 0x401 private: [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 public: // MNetworkEnable // MNetworkUserGroup "Water" // MNetworkChangeCallback "OnWaterLevelChangeNetworked" // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags float m_flWaterLevel; // 0x404 // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" uint32_t m_fEffects; // 0x408 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" CHandle< C_BaseEntity > m_hGroundEntity; // 0x40c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "4.000000" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" float m_flFriction; // 0x410 // MNetworkEnable // MNetworkEncoder float m_flElasticity; // 0x414 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flGravityScale; // 0x418 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flTimeScale; // 0x41c // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" bool m_bSimulatedEveryTick; // 0x420 // MNetworkEnable // MNetworkChangeCallback "OnInterpolationAmountChanged" bool m_bAnimatedEveryTick; // 0x421 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMinCPULevel; // 0x422 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMaxCPULevel; // 0x423 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMinGPULevel; // 0x424 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMaxGPULevel; // 0x425 private: [[maybe_unused]] uint8_t __pad0426[0x2]; // 0x426 public: // MNetworkEnable // MNetworkChangeCallback "OnNavIgnoreChanged" GameTime_t m_flNavIgnoreUntilTime; // 0x428 uint16_t m_hThink; // 0x42c private: [[maybe_unused]] uint8_t __pad042e[0xa]; // 0x42e public: uint8_t m_fBBoxVisFlags; // 0x438 bool m_bPredictable; // 0x439 bool m_bRenderWithViewModels; // 0x43a private: [[maybe_unused]] uint8_t __pad043b[0x1]; // 0x43b public: CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x43c int32_t m_nFirstPredictableCommand; // 0x440 int32_t m_nLastPredictableCommand; // 0x444 CHandle< C_BaseEntity > m_hOldMoveParent; // 0x448 private: [[maybe_unused]] uint8_t __pad044c[0x4]; // 0x44c public: CParticleProperty m_Particles; // 0x450 CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x478 CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x490 private: [[maybe_unused]] uint8_t __pad04a8[0x18]; // 0x4a8 public: int32_t m_nNextScriptVarRecordID; // 0x4c0 private: [[maybe_unused]] uint8_t __pad04c4[0xc]; // 0x4c4 public: QAngle m_vecAngVelocity; // 0x4d0 int32_t m_DataChangeEventRef; // 0x4dc CUtlVector< CEntityHandle > m_dependencies; // 0x4e0 int32_t m_nCreationTick; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x15]; // 0x4fc public: bool m_bAnimTimeChanged; // 0x511 bool m_bSimulationTimeChanged; // 0x512 private: [[maybe_unused]] uint8_t __pad0513[0xd]; // 0x513 public: CUtlString m_sUniqueHammerID; // 0x520 // Static fields: static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);}; static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[1]->m_instance);}; static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[2]->m_instance);}; static bool &Get_m_bAllowPrecache(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[3]->m_instance);}; static LatchDirtyPermission_t &Get_s_nLatchPermissions(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[4]->m_instance);}; static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[5]->m_instance);}; static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[6]->m_instance);}; static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[7]->m_instance);}; static bool &Get_s_bAbsRecomputationEnabled(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[8]->m_instance);}; static bool &Get_s_bComputingInterpolatedValues(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[9]->m_instance);}; static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[10]->m_instance);}; static CUtlVector< C_BaseEntity* > &Get_gm_UsableObjects(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[11]->m_instance);}; }; // Alignment: 0 // Size: 0x528 class CLogicalEntity : public C_BaseEntity { public: // No members available }; // Alignment: 5 // Size: 0x20 class C_BaseFlex::Emphasized_Phoneme { public: CUtlString m_sClassName; // 0x0 float m_flAmount; // 0x18 bool m_bRequired; // 0x1c bool m_bBasechecked; // 0x1d bool m_bValid; // 0x1e }; // Alignment: 18 // Size: 0x770 class C_ColorCorrection : public C_BaseEntity { public: Vector m_vecOrigin; // 0x528 // MNetworkEnable float m_MinFalloff; // 0x534 // MNetworkEnable float m_MaxFalloff; // 0x538 // MNetworkEnable float m_flFadeInDuration; // 0x53c // MNetworkEnable float m_flFadeOutDuration; // 0x540 // MNetworkEnable float m_flMaxWeight; // 0x544 // MNetworkEnable float m_flCurWeight; // 0x548 // MNetworkEnable char m_netlookupFilename[512]; // 0x54c // MNetworkEnable bool m_bEnabled; // 0x74c // MNetworkEnable bool m_bMaster; // 0x74d // MNetworkEnable bool m_bClientSide; // 0x74e // MNetworkEnable bool m_bExclusive; // 0x74f bool m_bEnabledOnClient[1]; // 0x750 private: [[maybe_unused]] uint8_t __pad0751[0x3]; // 0x751 public: float m_flCurWeightOnClient[1]; // 0x754 bool m_bFadingIn[1]; // 0x758 private: [[maybe_unused]] uint8_t __pad0759[0x3]; // 0x759 public: float m_flFadeStartWeight[1]; // 0x75c float m_flFadeStartTime[1]; // 0x760 float m_flFadeDuration[1]; // 0x764 }; // Alignment: 29 // Size: 0x208 class C_EnvWindShared { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable GameTime_t m_flStartTime; // 0x8 // MNetworkEnable uint32_t m_iWindSeed; // 0xc // MNetworkEnable uint16_t m_iMinWind; // 0x10 // MNetworkEnable uint16_t m_iMaxWind; // 0x12 // MNetworkEnable int32_t m_windRadius; // 0x14 // MNetworkEnable uint16_t m_iMinGust; // 0x18 // MNetworkEnable uint16_t m_iMaxGust; // 0x1a // MNetworkEnable float m_flMinGustDelay; // 0x1c // MNetworkEnable float m_flMaxGustDelay; // 0x20 // MNetworkEnable float m_flGustDuration; // 0x24 // MNetworkEnable uint16_t m_iGustDirChange; // 0x28 private: [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a public: // MNetworkEnable // MNetworkEncoder Vector m_location; // 0x2c int32_t m_iszGustSound; // 0x38 int32_t m_iWindDir; // 0x3c float m_flWindSpeed; // 0x40 Vector m_currentWindVector; // 0x44 Vector m_CurrentSwayVector; // 0x50 Vector m_PrevSwayVector; // 0x5c // MNetworkEnable uint16_t m_iInitialWindDir; // 0x68 private: [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a public: // MNetworkEnable float m_flInitialWindSpeed; // 0x6c GameTime_t m_flVariationTime; // 0x70 GameTime_t m_flSwayTime; // 0x74 GameTime_t m_flSimTime; // 0x78 GameTime_t m_flSwitchTime; // 0x7c float m_flAveWindSpeed; // 0x80 bool m_bGusting; // 0x84 private: [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 public: float m_flWindAngleVariation; // 0x88 float m_flWindSpeedVariation; // 0x8c CEntityIndex m_iEntIndex; // 0x90 }; // Alignment: 3 // Size: 0x560 class C_EntityFlame : public C_BaseEntity { public: // MNetworkEnable CHandle< C_BaseEntity > m_hEntAttached; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x24]; // 0x52c public: CHandle< C_BaseEntity > m_hOldAttached; // 0x550 // MNetworkEnable bool m_bCheapEffect; // 0x554 }; // Alignment: 30 // Size: 0x2e0 class CProjectedTextureBase { private: [[maybe_unused]] uint8_t __pad0000[0xc]; // 0x0 public: // MNetworkEnable CHandle< C_BaseEntity > m_hTargetEntity; // 0xc // MNetworkEnable bool m_bState; // 0x10 // MNetworkEnable bool m_bAlwaysUpdate; // 0x11 private: [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 public: // MNetworkEnable float m_flLightFOV; // 0x14 // MNetworkEnable bool m_bEnableShadows; // 0x18 // MNetworkEnable bool m_bSimpleProjection; // 0x19 // MNetworkEnable bool m_bLightOnlyTarget; // 0x1a // MNetworkEnable bool m_bLightWorld; // 0x1b // MNetworkEnable bool m_bCameraSpace; // 0x1c private: [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d public: // MNetworkEnable float m_flBrightnessScale; // 0x20 // MNetworkEnable Color m_LightColor; // 0x24 // MNetworkEnable float m_flIntensity; // 0x28 // MNetworkEnable float m_flLinearAttenuation; // 0x2c // MNetworkEnable float m_flQuadraticAttenuation; // 0x30 // MNetworkEnable bool m_bVolumetric; // 0x34 private: [[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35 public: // MNetworkEnable float m_flVolumetricIntensity; // 0x38 // MNetworkEnable float m_flNoiseStrength; // 0x3c // MNetworkEnable float m_flFlashlightTime; // 0x40 // MNetworkEnable uint32_t m_nNumPlanes; // 0x44 // MNetworkEnable float m_flPlaneOffset; // 0x48 // MNetworkEnable float m_flColorTransitionTime; // 0x4c // MNetworkEnable float m_flAmbient; // 0x50 // MNetworkEnable char m_SpotlightTextureName[512]; // 0x54 // MNetworkEnable int32_t m_nSpotlightTextureFrame; // 0x254 // MNetworkEnable uint32_t m_nShadowQuality; // 0x258 // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0.000000" // MNetworkMaxValue "500.000000" // MNetworkEncodeFlags float m_flNearZ; // 0x25c // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1500.000000" // MNetworkEncodeFlags float m_flFarZ; // 0x260 // MNetworkEnable float m_flProjectionSize; // 0x264 // MNetworkEnable float m_flRotation; // 0x268 // MNetworkEnable bool m_bFlipHorizontal; // 0x26c // Static fields: static float &Get_m_flVisibleBBoxMinHeight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CProjectedTextureBase")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 // Size: 0x10 class C_RopeKeyframe::CPhysicsDelegate { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: C_RopeKeyframe* m_pKeyframe; // 0x8 }; // Alignment: 1 // Size: 0x18 struct C_SceneEntity__QueuedEvents_t { public: float starttime; // 0x0 }; // Alignment: 0 // Size: 0x540 class C_TintController : public C_BaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x528 class C_TriggerCamera : public C_BaseEntity { public: // No members available }; // Alignment: 13 // Size: 0x2e0 class CFlashlightEffect { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: bool m_bIsOn; // 0x10 private: [[maybe_unused]] uint8_t __pad0011[0xf]; // 0x11 public: bool m_bMuzzleFlashEnabled; // 0x20 private: [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 public: float m_flMuzzleFlashBrightness; // 0x24 private: [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: Quaternion m_quatMuzzleFlashOrientation; // 0x30 Vector m_vecMuzzleFlashOrigin; // 0x40 float m_flFov; // 0x4c float m_flFarZ; // 0x50 float m_flLinearAtten; // 0x54 bool m_bCastsShadows; // 0x58 private: [[maybe_unused]] uint8_t __pad0059[0x3]; // 0x59 public: float m_flCurrentPullBackDist; // 0x5c CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x60 CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x68 char m_textureName[64]; // 0x70 }; // Alignment: 5 // Size: 0x14 class CInterpolatedValue { public: float m_flStartTime; // 0x0 float m_flEndTime; // 0x4 float m_flStartValue; // 0x8 float m_flEndValue; // 0xc int32_t m_nInterpType; // 0x10 }; // Alignment: 4 // Size: 0x20 class CGlowSprite { public: Vector m_vColor; // 0x0 float m_flHorzSize; // 0xc float m_flVertSize; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18 }; // Alignment: 15 // Size: 0xd0 class CGlowOverlay { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: Vector m_vPos; // 0x8 bool m_bDirectional; // 0x14 private: [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 public: Vector m_vDirection; // 0x18 bool m_bInSky; // 0x24 private: [[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25 public: float m_skyObstructionScale; // 0x28 private: [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c public: CGlowSprite m_Sprites[4]; // 0x30 int32_t m_nSprites; // 0xb0 float m_flProxyRadius; // 0xb4 float m_flHDRColorScale; // 0xb8 float m_flGlowObstructionScale; // 0xbc bool m_bCacheGlowObstruction; // 0xc0 bool m_bCacheSkyObstruction; // 0xc1 int16_t m_bActivated; // 0xc2 uint16_t m_ListIndex; // 0xc4 private: [[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6 public: int32_t m_queryHandle; // 0xc8 }; // Alignment: 0 // Size: 0x8 class IClientAlphaProperty { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // No members available }; // Alignment: 2 // Size: 0x530 class CSkyboxReference : public C_BaseEntity { public: WorldGroupId_t m_worldGroupId; // 0x528 CHandle< C_SkyCamera > m_hSkyCamera; // 0x52c }; // Alignment: 6 // Size: 0x90 struct sky3dparams_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable int16_t scale; // 0x8 private: [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa public: // MNetworkEnable // MNetworkEncoder Vector origin; // 0xc // MNetworkEnable bool bClip3DSkyBoxNearToWorldFar; // 0x18 private: [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 public: // MNetworkEnable float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c // MNetworkEnable fogparams_t fog; // 0x20 // MNetworkEnable WorldGroupId_t m_nWorldGroupID; // 0x88 }; // Alignment: 2 // Size: 0x8 class TimedEvent { public: float m_TimeBetweenEvents; // 0x0 float m_fNextEvent; // 0x4 }; // Alignment: 8 // Size: 0x30 struct VPhysicsCollisionAttribute_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable uint64_t m_nInteractsAs; // 0x8 // MNetworkEnable uint64_t m_nInteractsWith; // 0x10 // MNetworkEnable uint64_t m_nInteractsExclude; // 0x18 // MNetworkEnable uint32_t m_nEntityId; // 0x20 // MNetworkEnable uint32_t m_nOwnerId; // 0x24 // MNetworkEnable uint16_t m_nHierarchyId; // 0x28 // MNetworkEnable uint8_t m_nCollisionGroup; // 0x2a // MNetworkEnable uint8_t m_nCollisionFunctionMask; // 0x2b }; // Alignment: 17 // Size: 0xb0 class CCollisionProperty { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // MNetworkEnable // MNetworkChangeCallback "CollisionAttributeChanged" VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" Vector m_vecMins; // 0x40 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" Vector m_vecMaxs; // 0x4c private: [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 public: // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidFlags" uint8_t m_usSolidFlags; // 0x5a // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidType" SolidType_t m_nSolidType; // 0x5b // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" uint8_t m_triggerBloat; // 0x5c // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" SurroundingBoundsType_t m_nSurroundType; // 0x5d // MNetworkEnable uint8_t m_CollisionGroup; // 0x5e // MNetworkEnable // MNetworkChangeCallback "OnUpdateEnablePhysics" uint8_t m_nEnablePhysics; // 0x5f float m_flBoundingRadius; // 0x60 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" Vector m_vecSpecifiedSurroundingMins; // 0x64 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" Vector m_vecSpecifiedSurroundingMaxs; // 0x70 Vector m_vecSurroundingMaxs; // 0x7c Vector m_vecSurroundingMins; // 0x88 // MNetworkEnable Vector m_vCapsuleCenter1; // 0x94 // MNetworkEnable Vector m_vCapsuleCenter2; // 0xa0 // MNetworkEnable float m_flCapsuleRadius; // 0xac }; // Alignment: 10 // Size: 0x98 class CDecalInfo { public: float m_flAnimationScale; // 0x0 float m_flAnimationLifeSpan; // 0x4 float m_flPlaceTime; // 0x8 float m_flFadeStartTime; // 0xc float m_flFadeDuration; // 0x10 int32_t m_nVBSlot; // 0x14 int32_t m_nBoneIndex; // 0x18 private: [[maybe_unused]] uint8_t __pad001c[0xc]; // 0x1c public: CDecalInfo* m_pNext; // 0x28 CDecalInfo* m_pPrev; // 0x30 private: [[maybe_unused]] uint8_t __pad0038[0x58]; // 0x38 public: int32_t m_nDecalMaterialIndex; // 0x90 }; // Alignment: 21 // Size: 0x70 class CEffectData { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkEncoder Vector m_vOrigin; // 0x8 // MNetworkEnable // MNetworkEncoder Vector m_vStart; // 0x14 // MNetworkEnable // MNetworkEncoder Vector m_vNormal; // 0x20 // MNetworkEnable // MNetworkEncoder QAngle m_vAngles; // 0x2c // MNetworkEnable CEntityHandle m_hEntity; // 0x38 // MNetworkEnable CEntityHandle m_hOtherEntity; // 0x3c // MNetworkEnable float m_flScale; // 0x40 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1023.000000" // MNetworkEncodeFlags float m_flMagnitude; // 0x44 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1023.000000" // MNetworkEncodeFlags float m_flRadius; // 0x48 // MNetworkEnable CUtlStringToken m_nSurfaceProp; // 0x4c // MNetworkEnable CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 // MNetworkEnable uint32_t m_nDamageType; // 0x58 // MNetworkEnable uint8_t m_nPenetrate; // 0x5c private: [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d public: // MNetworkEnable uint16_t m_nMaterial; // 0x5e // MNetworkEnable uint16_t m_nHitBox; // 0x60 // MNetworkEnable uint8_t m_nColor; // 0x62 // MNetworkEnable uint8_t m_fFlags; // 0x63 // MNetworkEnable AttachmentHandle_t m_nAttachmentIndex; // 0x64 private: [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 public: // MNetworkEnable CUtlStringToken m_nAttachmentName; // 0x68 // MNetworkEnable uint16_t m_iEffectName; // 0x6c // MNetworkEnable uint8_t m_nExplosionType; // 0x6e }; // Alignment: 2 // Size: 0x530 class C_EnvDetailController : public C_BaseEntity { public: // MNetworkEnable float m_flFadeStartDist; // 0x528 // MNetworkEnable float m_flFadeEndDist; // 0x52c }; // Alignment: 1 // Size: 0x730 class C_EnvWindClientside : public C_BaseEntity { public: // MNetworkEnable // MNetworkDisable C_EnvWindShared m_EnvWindShared; // 0x528 }; // Alignment: 2 // Size: 0x8 struct C_EnvWindShared__WindAveEvent_t { public: float m_flStartWindSpeed; // 0x0 float m_flAveWindSpeed; // 0x4 }; // Alignment: 2 // Size: 0x8 struct C_EnvWindShared__WindVariationEvent_t { public: float m_flWindAngleVariation; // 0x0 float m_flWindSpeedVariation; // 0x4 }; // Alignment: 0 // Size: 0x528 class C_GameRulesProxy : public C_BaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x8 class C_GameRules { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // No members available }; // Alignment: 10 // Size: 0x58 class CGlowProperty { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: Vector m_fGlowColor; // 0x8 private: [[maybe_unused]] uint8_t __pad0014[0x1c]; // 0x14 public: // MNetworkEnable // MNetworkChangeCallback "OnGlowTypeChanged" int32_t m_iGlowType; // 0x30 // MNetworkEnable int32_t m_iGlowTeam; // 0x34 // MNetworkEnable int32_t m_nGlowRange; // 0x38 // MNetworkEnable int32_t m_nGlowRangeMin; // 0x3c // MNetworkEnable // MNetworkChangeCallback "OnGlowColorChanged" Color m_glowColorOverride; // 0x40 // MNetworkEnable bool m_bFlashing; // 0x44 private: [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 public: // MNetworkEnable float m_flGlowTime; // 0x48 // MNetworkEnable float m_flGlowStartTime; // 0x4c bool m_bGlowing; // 0x50 }; // Alignment: 0 // Size: 0x8 class C_MultiplayRules : public C_GameRules { public: // No members available }; // Alignment: 14 // Size: 0x40 struct C_fogplayerparams_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkUserGroup "PlayerFogController" CHandle< C_FogController > m_hCtrl; // 0x8 float m_flTransitionTime; // 0xc Color m_OldColor; // 0x10 float m_flOldStart; // 0x14 float m_flOldEnd; // 0x18 float m_flOldMaxDensity; // 0x1c float m_flOldHDRColorScale; // 0x20 float m_flOldFarZ; // 0x24 Color m_NewColor; // 0x28 float m_flNewStart; // 0x2c float m_flNewEnd; // 0x30 float m_flNewMaxDensity; // 0x34 float m_flNewHDRColorScale; // 0x38 float m_flNewFarZ; // 0x3c }; // Alignment: 22 // Size: 0x210 class CPlayer_CameraServices : public CPlayerPawnComponent { public: // MNetworkEnable uint32_t m_iFOV; // 0x40 // MNetworkEnable uint32_t m_iFOVStart; // 0x44 // MNetworkEnable GameTime_t m_flFOVTime; // 0x48 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flFOVRate; // 0x4c // MNetworkEnable CHandle< C_BaseEntity > m_hZoomOwner; // 0x50 private: [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: // MNetworkEnable C_fogplayerparams_t m_PlayerFog; // 0x58 // MNetworkEnable CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0x98 // MNetworkEnable CHandle< C_BaseEntity > m_hViewEntity; // 0x9c // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" CHandle< C_TonemapController2 > m_hTonemapController; // 0xa0 private: [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" audioparams_t m_audio; // 0xa8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerAndObserversExclusive" C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x120 float m_flOldPlayerZ; // 0x138 float m_flOldPlayerViewOffsetZ; // 0x13c fogparams_t m_CurrentFog; // 0x140 CHandle< C_FogController > m_hOldFogController; // 0x1a8 bool m_bOverrideFogColor[5]; // 0x1ac Color m_OverrideFogColor[5]; // 0x1b1 bool m_bOverrideFogStartEnd[5]; // 0x1c5 private: [[maybe_unused]] uint8_t __pad01ca[0x2]; // 0x1ca public: float m_fOverrideFogStart[5]; // 0x1cc float m_fOverrideFogEnd[5]; // 0x1e0 CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x1f4 QAngle m_angDemoViewAngles; // 0x1f8 }; // Alignment: 4 // Size: 0x5c8 class C_SkyCamera : public C_BaseEntity { public: // MNetworkEnable sky3dparams_t m_skyboxData; // 0x528 // MNetworkEnable CUtlStringToken m_skyboxSlotToken; // 0x5b8 bool m_bUseAngles; // 0x5bc private: [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd public: C_SkyCamera* m_pNext; // 0x5c0 }; // Alignment: 3 // Size: 0x50 struct PhysicsRagdollPose_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x8 // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x30 bool m_bDirty; // 0x48 }; // Alignment: 0 // Size: 0x8 class C_SingleplayRules : public C_GameRules { public: // No members available }; // Alignment: 5 // Size: 0x548 class C_SoundOpvarSetPointBase : public C_BaseEntity { public: // MNetworkEnable CUtlSymbolLarge m_iszStackName; // 0x528 // MNetworkEnable CUtlSymbolLarge m_iszOperatorName; // 0x530 // MNetworkEnable CUtlSymbolLarge m_iszOpvarName; // 0x538 // MNetworkEnable int32_t m_iOpvarIndex; // 0x540 // MNetworkEnable bool m_bUseAutoCompare; // 0x544 }; // Alignment: 0 // Size: 0x548 class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase { public: // No members available }; // Alignment: 0 // Size: 0x548 class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x548 class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity { public: // No members available }; // Alignment: 0 // Size: 0x548 class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x548 class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase { public: // No members available }; // Alignment: 2 // Size: 0x60 class CAttributeList { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable // MNetworkTypeAlias "CUtlVector< CEconItemAttribute >" C_UtlVectorEmbeddedNetworkVar< C_EconItemAttribute > m_Attributes; // 0x8 CAttributeManager* m_pManager; // 0x58 }; // Alignment: 2 // Size: 0x38 class C_EconItemAttribute { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable attrib_definition_index_t m_iAttributeDefinitionIndex; // 0x30 private: [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 public: // MNetworkEnable // MNetworkAlias "m_iRawValue32" float m_flValue; // 0x34 }; // Alignment: 7 // Size: 0x68 class CAttributeManager { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CUtlVector< CHandle< C_BaseEntity > > m_Providers; // 0x8 CUtlVector< CHandle< C_BaseEntity > > m_Receivers; // 0x20 // MNetworkEnable int32_t m_iReapplyProvisionParity; // 0x38 // MNetworkEnable CHandle< C_BaseEntity > m_hOuter; // 0x3c bool m_bPreventLoopback; // 0x40 private: [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: // MNetworkEnable attributeprovidertypes_t m_ProviderType; // 0x44 CUtlVector< CAttributeManager::cached_attribute_float_t > m_CachedResults; // 0x48 }; // Alignment: 3 // Size: 0x18 struct CAttributeManager__cached_attribute_float_t { public: float flIn; // 0x0 CUtlSymbolLarge iAttribHook; // 0x8 float flOut; // 0x10 }; // Alignment: 17 // Size: 0xc0 class C_EconItemView : public IEconItemInterface { public: // MNetworkEnable item_definition_index_t m_iItemDefinitionIndex; // 0x8 // MNetworkEnable int32_t m_iEntityQuality; // 0xc // MNetworkEnable uint32_t m_iEntityLevel; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: // MNetworkEnable itemid_t m_iItemID; // 0x18 // MNetworkEnable uint32_t m_iAccountID; // 0x20 // MNetworkEnable uint32_t m_iInventoryPosition; // 0x24 private: [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: // MNetworkEnable bool m_bInitialized; // 0x30 // MNetworkEnable style_index_t m_nOverrideStyle; // 0x31 bool m_bIsStoreItem; // 0x32 bool m_bIsTradeItem; // 0x33 bool m_bHasComputedAttachedParticles; // 0x34 bool m_bHasAttachedParticles; // 0x35 private: [[maybe_unused]] uint8_t __pad0036[0x2]; // 0x36 public: int32_t m_iEntityQuantity; // 0x38 uint8_t m_unClientFlags; // 0x3c private: [[maybe_unused]] uint8_t __pad003d[0x3]; // 0x3d public: eEconItemOrigin m_unOverrideOrigin; // 0x40 private: [[maybe_unused]] uint8_t __pad0044[0xc]; // 0x44 public: char* m_pszGrayedOutReason; // 0x50 // MNetworkEnable CAttributeList m_AttributeList; // 0x58 }; // Alignment: 3 // Size: 0xc struct C_EconEntity__AttachedParticleInfo_t { public: ParticleIndex_t m_nAttachedParticleIndex; // 0x0 CUtlStringToken m_customType; // 0x4 bool m_bShouldDestroyImmediately; // 0x8 }; // Alignment: 1 // Size: 0x4 struct C_EconEntity__AttachedModelData_t { public: int32_t m_iModelDisplayFlags; // 0x0 }; // Alignment: 15 // Size: 0xa0 class CAnimationLayer { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable // MNetworkChangeCallback "animationLayerOpChanged" CNetworkedSequenceOperation m_op; // 0x30 // MNetworkEnable // MNetworkChangeCallback "animationLayerOrderChanged" int32_t m_nOrder; // 0x58 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "5.000000" // MNetworkEncodeFlags // MNetworkSendProxyRecipientsFilter CNetworkedQuantizedFloat m_flPlaybackRate; // 0x5c // MNetworkEnable // MNetworkSendProxyRecipientsFilter bool m_bLooping; // 0x64 private: [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "animationLayerCycleReset" // MNetworkSendProxyRecipientsFilter int32_t m_nNewSequenceParity; // 0x68 // MNetworkDisable int32_t m_nFlags; // 0x6c // MNetworkDisable bool m_bSequenceFinished; // 0x70 private: [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 public: // MNetworkDisable float m_flKillRate; // 0x74 // MNetworkDisable float m_flKillDelay; // 0x78 // MNetworkDisable float m_flLayerAnimtime; // 0x7c // MNetworkDisable float m_flLayerFadeOuttime; // 0x80 // MNetworkDisable int32_t m_nActivity; // 0x84 // MNetworkDisable int32_t m_nPriority; // 0x88 // MNetworkDisable float m_flLastEventCycle; // 0x8c // MNetworkDisable float m_flLastAccess; // 0x90 }; // Alignment: 5 // Size: 0x1c0 class C_CSequenceTransitioner2 { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CNetworkedSequenceOperation m_currentOp; // 0x8 float m_flCurrentPlaybackRate; // 0x30 float m_flCurrentAnimTime; // 0x34 TransitioningLayer_t m_transitioningLayers[4]; // 0x38 C_BaseAnimatingController* m_pOwner; // 0x158 }; // Alignment: 18 // Size: 0x348 class C_BaseAnimatingController : public CSkeletonAnimationController { public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChanged" CNetworkedSequenceOperation m_baseLayer; // 0x10 // MNetworkDisable bool m_bSequenceFinished; // 0x38 private: [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MNetworkDisable float m_flGroundSpeed; // 0x3c // MNetworkDisable float m_flLastEventCycle; // 0x40 // MNetworkDisable float m_flLastEventAnimTime; // 0x44 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "5.000000" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChanged" CNetworkedQuantizedFloat m_flPlaybackRate; // 0x48 // MNetworkDisable float m_flPrevAnimTime; // 0x50 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkUserGroup "m_flPoseParameter" // MNetworkChangeCallback "poseParametersChanged" float m_flPoseParameter[24]; // 0x54 // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChanged" bool m_bClientSideAnimation; // 0xb4 // MNetworkDisable bool m_bNetworkedAnimationInputsChanged; // 0xb5 // MNetworkDisable uint8_t m_nPrevNewSequenceParity; // 0xb6 // MNetworkDisable uint8_t m_nPrevResetEventsParity; // 0xb7 // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleReset" int32_t m_nNewSequenceParity; // 0xb8 // MNetworkEnable // MNetworkPriority "32" int32_t m_nResetEventsParity; // 0xbc // MNetworkEnable AnimLoopMode_t m_nAnimLoopMode; // 0xc0 private: [[maybe_unused]] uint8_t __pad00c4[0x14]; // 0xc4 public: // MNetworkDisable C_CSequenceTransitioner2 m_SequenceTransitioner; // 0xd8 // MNetworkDisable HSequence m_hLastAnimEventSequence; // 0x298 // MNetworkDisable AnimationUpdateListHandle_t m_ClientSideAnimationListHandle; // 0x29c }; // Alignment: 1 // Size: 0x3b8 class C_BaseAnimatingOverlayController : public C_BaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x348 }; // Alignment: 2 // Size: 0x850 class C_BodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable C_BaseAnimatingOverlayController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x828 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[0]->m_instance);}; 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("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[1]->m_instance);}; }; // Alignment: 7 // Size: 0x48 struct TransitioningLayer_t { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CNetworkedSequenceOperation m_op; // 0x8 float m_flStartAnimTime; // 0x30 float m_flStartWeight; // 0x34 float m_flAnimTime; // 0x38 int32_t m_nOrder; // 0x3c float m_flPlaybackRate; // 0x40 float m_flFadeOutDuration; // 0x44 }; // Alignment: 2 // Size: 0x7e0 class C_BodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable C_BaseAnimatingController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x7b8 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->m_static_fields[0]->m_instance);}; 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("C_BodyComponentBaseAnimating")->m_static_fields[1]->m_instance);}; }; // Alignment: 5 // Size: 0x538 class C_DOTA_SimpleObstruction : public C_BaseEntity { public: // MNetworkEnable bool m_bEnabled; // 0x528 // MNetworkEnable bool m_bBlockFoW; // 0x529 private: [[maybe_unused]] uint8_t __pad052a[0x2]; // 0x52a public: uint32_t m_unOccluderID; // 0x52c bool m_bBlockingGridNav; // 0x530 bool m_bPrevEnabled; // 0x531 }; // Alignment: 1 // Size: 0x530 class C_DOTAGameManagerProxy : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameManager*" C_DOTAGameManager* m_pGameManager; // 0x528 // Static fields: static C_DOTAGameManagerProxy* &Get_s_pGameManagerProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTAGameManagerProxy")->m_static_fields[0]->m_instance);}; }; // Alignment: 20 // Size: 0xdd0 class C_DOTAGameManager { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x30 private: [[maybe_unused]] uint8_t __pad0058[0x368]; // 0x58 public: bool m_bCustomGame; // 0x3c0 bool m_bEventGame; // 0x3c1 bool m_bGameModeWantsDefaultNeutralItemSchema; // 0x3c2 bool m_bGameModeFilteredAbilities; // 0x3c3 char m_szAddOnGame[128]; // 0x3c4 char m_szAddOnMap[128]; // 0x444 private: [[maybe_unused]] uint8_t __pad04c4[0x354]; // 0x4c4 public: KeyValues* m_pTutorialLessonKeyValues; // 0x818 KeyValues* m_pDivisionKeyValues; // 0x820 KeyValues* m_pMatchGroupsKeyValues; // 0x828 KeyValues* m_pAnimationStatues; // 0x830 KeyValues* m_pBotScriptsDedicatedServer; // 0x838 KeyValues* m_pkvWardPlacementLocations; // 0x840 KeyValues* m_pRegionKeyValues; // 0x848 KeyValues* m_pSurveyQuestionData; // 0x850 KeyValues3 m_AddonInfoKeyValues; // 0x858 private: [[maybe_unused]] uint8_t __pad0868[0x20]; // 0x868 public: KeyValues* m_pCountryKeyValues; // 0x888 private: [[maybe_unused]] uint8_t __pad0890[0x430]; // 0x890 public: bool m_bLoadedPortraits[6]; // 0xcc0 private: [[maybe_unused]] uint8_t __pad0cc6[0x2]; // 0xcc6 public: KeyValues* m_pControlGroupsKeyValues; // 0xcc8 // MNetworkEnable bool m_CurrentHeroAvailable[256]; // 0xcd0 }; // Alignment: 1 // Size: 0x530 class C_DOTAGamerulesProxy : public C_GameRulesProxy { public: // MNetworkEnable // MNetworkTypeAlias "CDOTAGameRules*" // MNetworkPriority "32" C_DOTAGamerules* m_pGameRules; // 0x528 }; // Alignment: 9 // Size: 0x58 class CDOTA_ItemStockInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t iTeamNumber; // 0x30 // MNetworkEnable AbilityID_t nItemAbilityID; // 0x34 // MNetworkEnable float fStockDuration; // 0x38 // MNetworkEnable GameTime_t fStockTime; // 0x3c // MNetworkEnable int32_t iStockCount; // 0x40 // MNetworkEnable int32_t iMaxCount; // 0x44 // MNetworkEnable float fInitialStockDuration; // 0x48 // MNetworkEnable PlayerID_t iPlayerID; // 0x4c // MNetworkEnable int32_t iBonusDelayedStockCount; // 0x50 }; // Alignment: 1 // Size: 0x48 class CHeroesPerPlayer { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable C_NetworkUtlVectorBase< int32 > m_vecHeroIDs; // 0x30 }; // Alignment: 2 // Size: 0x38 class CHeroStatueLiked { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable PlayerID_t m_iPlayerIDLiker; // 0x30 // MNetworkEnable PlayerID_t m_iPlayerIDLiked; // 0x34 }; // Alignment: 2 // Size: 0x10 class DOTA_AssassinMinigameNetworkState { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable uint16_t nAssassinState; // 0x8 // MNetworkEnable uint16_t nVictimHeroID; // 0xa }; // Alignment: 3 // Size: 0x40 class CDOTA_AbilityDraftAbilityState { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable AbilityID_t m_nAbilityID; // 0x30 // MNetworkEnable PlayerID_t m_unPlayerID; // 0x34 // MNetworkEnable int32_t m_unAbilityPlayerSlot; // 0x38 }; // Alignment: 219 // Size: -0x5488 class C_DOTAGamerules : public C_MultiplayRules { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x8 // MNetworkEnable int32_t m_nTotalPausedTicks; // 0x30 // MNetworkEnable int32_t m_nPauseStartTick; // 0x34 // MNetworkEnable bool m_bGamePaused; // 0x38 private: [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MNetworkEnable int32_t m_iMiscHeroPickCounter; // 0x3c // MNetworkEnable CHandle< C_BaseEntity > m_hEndGameCinematicEntity; // 0x40 // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hOverlayHealthBarUnit; // 0x44 // MNetworkEnable int32_t m_nOverlayHealthBarType; // 0x48 // MNetworkEnable // MNetworkChangeCallback "OnCinematicModeChanged" bool m_bIsInCinematicMode; // 0x4c bool m_bIsInClientSideCinematicMode; // 0x4d // MNetworkEnable bool m_bFreeCourierMode; // 0x4e private: [[maybe_unused]] uint8_t __pad004f[0x1]; // 0x4f public: int32_t m_nStartingGold; // 0x50 int32_t m_nGoldPerTick; // 0x54 float m_flGoldTickTime; // 0x58 bool m_bItemWhiteListChanged; // 0x5c bool m_bEnableSuggestAbilities; // 0x5d bool m_bEnableSuggestItems; // 0x5e private: [[maybe_unused]] uint8_t __pad005f[0x1]; // 0x5f public: // MNetworkEnable uint32_t m_unFanfareGoodGuys; // 0x60 // MNetworkEnable uint32_t m_unFanfareBadGuys; // 0x64 int32_t m_iMapType; // 0x68 // MNetworkEnable // MNetworkAlias "m_nGameState" int32_t m_nServerGameState; // 0x6c // MNetworkEnable // MNetworkAlias "m_nHeroPickState" DOTA_HeroPickState m_nServerHeroPickState; // 0x70 int32_t m_nGameState; // 0x74 DOTA_HeroPickState m_nHeroPickState; // 0x78 // MNetworkEnable bool m_bAlternateHeroGridsEnabled; // 0x7c private: [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d public: // MNetworkEnable GameTime_t m_flStateTransitionTime; // 0x80 // MNetworkEnable float m_flOverride_dota_hero_selection_time; // 0x84 // MNetworkEnable float m_flOverride_dota_pregame_time; // 0x88 // MNetworkEnable float m_flOverride_dota_postgame_time; // 0x8c // MNetworkEnable float m_flOverride_dota_strategy_time; // 0x90 // MNetworkEnable float m_flOverride_dota_team_showcase_duration; // 0x94 // MNetworkEnable float m_flOverride_dota_rune_spawn_time; // 0x98 // MNetworkEnable float m_flShowcaseTime[15]; // 0x9c // MNetworkEnable float m_flNeutralInitialSpawnOffset; // 0xd8 // MNetworkEnable int32_t m_iGameMode; // 0xdc // MNetworkEnable // MNetworkChangeCallback "OnGameModeEntityChanged" CHandle< C_BaseEntity > m_hGameModeEntity; // 0xe0 // MNetworkEnable CHandle< C_BaseEntity > m_hCustomHeroPickRulesEntity; // 0xe4 // MNetworkEnable GameTime_t m_flHeroPickStateTransitionTime; // 0xe8 private: [[maybe_unused]] uint8_t __pad00ec[0x4]; // 0xec public: // MNetworkEnable // MNetworkEncoder uint64_t m_iPlayerIDsInControl; // 0xf0 // MNetworkEnable bool m_bSameHeroSelectionEnabled; // 0xf8 // MNetworkEnable bool m_bUseCustomHeroXPValue; // 0xf9 // MNetworkEnable bool m_bUseBaseGoldBountyOnHeroes; // 0xfa // MNetworkEnable bool m_bUseUniversalShopMode; // 0xfb // MNetworkEnable bool m_bHideKillMessageHeaders; // 0xfc private: [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd public: // MNetworkEnable float m_flHeroMinimapIconScale; // 0x100 // MNetworkEnable float m_flCreepMinimapIconScale; // 0x104 // MNetworkEnable bool m_bCreepSpawningEnabled; // 0x108 private: [[maybe_unused]] uint8_t __pad0109[0x3]; // 0x109 public: // MNetworkEnable float m_flRuneMinimapIconScale; // 0x10c // MNetworkEnable char m_CustomVictoryMessage[256]; // 0x110 // MNetworkEnable float m_flCustomGameEndDelay; // 0x210 // MNetworkEnable float m_flCustomGameSetupAutoLaunchDelay; // 0x214 // MNetworkEnable float m_flCustomGameSetupTimeout; // 0x218 // MNetworkEnable float m_flCustomVictoryMessageDuration; // 0x21c // MNetworkEnable float m_flHeroSelectPenaltyTime; // 0x220 // MNetworkEnable bool m_bCustomGameSetupAutoLaunchEnabled; // 0x224 // MNetworkEnable bool m_bCustomGameTeamSelectionLocked; // 0x225 // MNetworkEnable bool m_bCustomGameEnablePickRules; // 0x226 // MNetworkEnable bool m_bCustomGameAllowHeroPickMusic; // 0x227 // MNetworkEnable bool m_bCustomGameAllowMusicAtGameStart; // 0x228 // MNetworkEnable bool m_bCustomGameAllowBattleMusic; // 0x229 // MNetworkEnable bool m_bCustomGameDisableIK; // 0x22a // MNetworkEnable bool m_bCustomGameAllowSecondaryAbilitiesOnOtherUnits; // 0x22b // MNetworkEnable int32_t m_iCMModePickBanOrder; // 0x22c // MNetworkEnable int32_t m_iCDModePickBanOrder; // 0x230 // MNetworkEnable int32_t m_nGGTeam; // 0x234 // MNetworkEnable GameTime_t m_flGGEndsAtTime; // 0x238 // MNetworkEnable bool m_bGGCalled; // 0x23c // MNetworkEnable bool m_bWhiteListEnabled; // 0x23d private: [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnWhitelistChanged" uint64_t m_bItemWhiteList[4]; // 0x240 // MNetworkEnable int32_t m_nLastHitUIMode; // 0x260 // MNetworkEnable bool m_bHUDTimerTutorialMode; // 0x264 private: [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: CountdownTimer m_HeroPickMiscTimer; // 0x268 CountdownTimer m_ExtraTimeTimer; // 0x280 // MNetworkEnable float m_fExtraTimeRemaining[2]; // 0x298 // MNetworkEnable bool m_bHeroRespawnEnabled; // 0x2a0 // MNetworkEnable bool m_bIsRandomingEnabled; // 0x2a1 private: [[maybe_unused]] uint8_t __pad02a2[0x2]; // 0x2a2 public: // MNetworkEnable PlayerID_t m_iCaptainPlayerIDs[2]; // 0x2a4 // MNetworkEnable int32_t m_BannedHeroes[24]; // 0x2ac // MNetworkEnable int32_t m_SelectedHeroes[24]; // 0x30c // MNetworkEnable int32_t m_iActiveTeam; // 0x36c // MNetworkEnable int32_t m_iStartingTeam; // 0x370 // MNetworkEnable int32_t m_iPenaltyLevelRadiant; // 0x374 // MNetworkEnable int32_t m_iPenaltyLevelDire; // 0x378 // MNetworkEnable bool m_bIsLoadingScenario; // 0x37c private: [[maybe_unused]] uint8_t __pad037d[0x3]; // 0x37d public: // MNetworkEnable C_NetworkUtlVectorBase< int32 > m_vecNewBannedHeroes; // 0x380 // MNetworkEnable C_NetworkUtlVectorBase< int32 > m_vecWhitelistedHeroes; // 0x398 // MNetworkEnable C_NetworkUtlVectorBase< int32 > m_vecBlacklistedHeroes; // 0x3b0 // MNetworkEnable bool m_bHideBlacklistedHeroes; // 0x3c8 private: [[maybe_unused]] uint8_t __pad03c9[0x3]; // 0x3c9 public: // MNetworkEnable int32_t m_nSeriesType; // 0x3cc // MNetworkEnable int32_t m_nRadiantSeriesWins; // 0x3d0 // MNetworkEnable int32_t m_nDireSeriesWins; // 0x3d4 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecAvailableHerosPerPlayerID; // 0x3d8 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecLockedHerosByPlayerID; // 0x428 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CHeroesPerPlayer > m_vecDisabledRandomHerosByPlayerID; // 0x478 int32_t m_CustomGameForceSelectHero[24]; // 0x4c8 float m_flGoldTime; // 0x528 float m_flXPTime; // 0x52c GameTime_t m_flCreepSpawntime; // 0x530 float m_flAnnounceStartTime; // 0x534 // MNetworkEnable int32_t m_iGoodTomeCount; // 0x538 // MNetworkEnable int32_t m_iBadTomeCount; // 0x53c // MNetworkEnable GameTime_t m_flPreGameStartTime; // 0x540 // MNetworkEnable GameTime_t m_flGameStartTime; // 0x544 // MNetworkEnable GameTime_t m_flGameEndTime; // 0x548 // MNetworkEnable float m_flGameLoadTime; // 0x54c // MNetworkEnable int32_t m_iCustomGameScore[2]; // 0x550 // MNetworkEnable int32_t m_nCustomGameDifficulty; // 0x558 bool m_bEnemyModifiersEnabled; // 0x55c private: [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d public: int32_t m_iWaves; // 0x560 int32_t m_iCreepUpgradeState; // 0x564 // MNetworkEnable GameTime_t m_fGoodGlyphCooldown; // 0x568 // MNetworkEnable GameTime_t m_fBadGlyphCooldown; // 0x56c // MNetworkEnable GameTime_t m_flGlyphCooldowns[15]; // 0x570 // MNetworkEnable GameTime_t m_fGoodRadarCooldown; // 0x5ac // MNetworkEnable GameTime_t m_fBadRadarCooldown; // 0x5b0 // MNetworkEnable GameTime_t m_flRadarCooldowns[15]; // 0x5b4 // MNetworkEnable float m_flOutpostTimes[24]; // 0x5f0 // MNetworkEnable bool m_bIsNightstalkerNight; // 0x650 // MNetworkEnable bool m_bIsTemporaryNight; // 0x651 // MNetworkEnable bool m_bIsTemporaryDay; // 0x652 private: [[maybe_unused]] uint8_t __pad0653[0x1]; // 0x653 public: // MNetworkEnable int32_t m_nRiverType; // 0x654 // MNetworkEnable PlayerID_t m_nTeamFeaturedPlayerID[15]; // 0x658 // MNetworkEnable item_definition_index_t m_nTeamVersusScreen[15]; // 0x694 float m_flGoldRedistributeTime; // 0x6d0 int32_t m_nGoldToRedistribute[2]; // 0x6d4 GameTime_t m_flNextPreGameThink; // 0x6dc GameTime_t m_flNextAllDraftGoldThink; // 0x6e0 private: [[maybe_unused]] uint8_t __pad06e4[0x4]; // 0x6e4 public: double m_flTimeEnteredState; // 0x6e8 uint32_t m_unRiverAccountID; // 0x6f0 private: [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 public: itemid_t m_ulRiverItemID; // 0x6f8 private: [[maybe_unused]] uint8_t __pad0700[0x40]; // 0x700 public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTA_ItemStockInfo > m_vecItemStockInfo; // 0x740 // MNetworkEnable DOTA_AssassinMinigameNetworkState m_AssassinMiniGameNetData; // 0x790 // MNetworkEnable int32_t m_nGameWinner; // 0x7a0 private: [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 public: // MNetworkEnable MatchID_t m_unMatchID64; // 0x7a8 // MNetworkEnable bool m_bMatchSignoutComplete; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 public: // MNetworkEnable CHandle< C_BaseEntity > m_hSideShop1; // 0x7b4 // MNetworkEnable CHandle< C_BaseEntity > m_hSideShop2; // 0x7b8 // MNetworkEnable CHandle< C_BaseEntity > m_hSecretShop1; // 0x7bc // MNetworkEnable CHandle< C_BaseEntity > m_hSecretShop2; // 0x7c0 // MNetworkEnable CHandle< C_BaseEntity > m_hTeamFountains[15]; // 0x7c4 // MNetworkEnable CHandle< C_BaseEntity > m_hTeamForts[15]; // 0x800 // MNetworkEnable CHandle< C_BaseEntity > m_hTeamShops[15]; // 0x83c // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerGood; // 0x878 // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerBad; // 0x87c // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerSpectator; // 0x880 // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerGood_KillingSpree; // 0x884 // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerBad_KillingSpree; // 0x888 // MNetworkEnable CHandle< C_BaseEntity > m_hAnnouncerSpectator_KillingSpree; // 0x88c // MNetworkEnable bool m_arrTier1TowerDestroyed[15]; // 0x890 // MNetworkEnable bool m_arrTier2TowerDestroyed[15]; // 0x89f // MNetworkEnable bool m_arrTier3TowerDestroyed[15]; // 0x8ae // MNetworkEnable bool m_bTier1TowerDestroyed; // 0x8bd // MNetworkEnable bool m_bTier2TowerDestroyed; // 0x8be // MNetworkEnable bool m_bTier3TowerDestroyed; // 0x8bf float m_fTimeOfDay; // 0x8c0 // MNetworkEnable // MNetworkPriority "32" int32_t m_iNetTimeOfDay; // 0x8c4 // MNetworkEnable int32_t m_nLoadedPlayers; // 0x8c8 // MNetworkEnable int32_t m_nExpectedPlayers; // 0x8cc private: [[maybe_unused]] uint8_t __pad08d0[0x8]; // 0x8d0 public: // MNetworkEnable int32_t m_iMinimapDebugGridState; // 0x8d8 private: [[maybe_unused]] uint8_t __pad08dc[0x7c]; // 0x8dc public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iFoWFrameNumber; // 0x958 // MNetworkEnable Vector m_vWeatherWindDirection; // 0x95c // MNetworkEnable int32_t m_vecRequiredPlaytestHeroesStorage[24]; // 0x968 // MNetworkEnable int32_t m_vecRecommendedPlaytestHeroesStorage[24]; // 0x9c8 // MNetworkEnable bool m_bAllRequiredPlaytestHeroesPicked; // 0xa28 private: [[maybe_unused]] uint8_t __pad0a29[0x3]; // 0xa29 public: // MNetworkEnable int32_t m_nLastPlaytestPickPhase; // 0xa2c int32_t m_nCustomGameFowTeamCount; // 0xa30 bool m_bUseAlternateABRules; // 0xa34 bool m_bLobbyIsAssociatedWithGame; // 0xa35 private: [[maybe_unused]] uint8_t __pad0a36[0x2]; // 0xa36 public: CountdownTimer m_BotDebugTimer; // 0xa38 // MNetworkEnable // MNetworkPriority "48" uint8_t m_BotDebugPushLane[18]; // 0xa50 // MNetworkEnable uint8_t m_BotDebugDefendLane[18]; // 0xa62 // MNetworkEnable uint8_t m_BotDebugFarmLane[6]; // 0xa74 // MNetworkEnable uint8_t m_BotDebugRoam[8]; // 0xa7a private: [[maybe_unused]] uint8_t __pad0a82[0x2]; // 0xa82 public: // MNetworkEnable CHandle< C_BaseEntity > m_hBotDebugRoamTarget[2]; // 0xa84 // MNetworkEnable uint8_t m_BotDebugRoshan[2]; // 0xa8c private: [[maybe_unused]] uint8_t __pad0a8e[0x2]; // 0xa8e public: // MNetworkEnable ERoshanSpawnPhase m_nRoshanRespawnPhase; // 0xa90 // MNetworkEnable GameTime_t m_flRoshanRespawnPhaseEndTime; // 0xa94 // MNetworkEnable // MNetworkTypeAlias "CDOTA_AbilityDraftAbilityState[MAX_ABILITY_DRAFT_ABILITIES]" C_UtlVectorEmbeddedNetworkVar< CDOTA_AbilityDraftAbilityState > m_AbilityDraftAbilities; // 0xa98 // MNetworkEnable bool m_bAbilityDraftCurrentPlayerHasPicked; // 0xae8 private: [[maybe_unused]] uint8_t __pad0ae9[0x3]; // 0xae9 public: // MNetworkEnable int32_t m_nAbilityDraftPlayerTracker; // 0xaec // MNetworkEnable int32_t m_nAbilityDraftRoundNumber; // 0xaf0 // MNetworkEnable int32_t m_nAbilityDraftAdvanceSteps; // 0xaf4 // MNetworkEnable int32_t m_nAbilityDraftPhase; // 0xaf8 // MNetworkEnable // MNetworkChangeCallback "OnAbilityDraftHeroesChanged" int32_t m_nAbilityDraftHeroesChosen[13]; // 0xafc // MNetworkEnable bool m_bIsPlayerDraft; // 0xb30 private: [[maybe_unused]] uint8_t __pad0b31[0x3]; // 0xb31 public: // MNetworkEnable DOTA_PlayerDraftState m_ePlayerDraftState; // 0xb34 // MNetworkEnable C_NetworkUtlVectorBase< uint8 > m_vecPlayerDraftPickOrder; // 0xb38 // MNetworkEnable int32_t m_nPlayerDraftPick; // 0xb50 // MNetworkEnable int32_t m_nPlayerDraftActiveTeam; // 0xb54 // MNetworkEnable float m_flPlayerDraftTimeBank[2]; // 0xb58 CUtlVector< KeyValues* > m_vecARDMHeroes[2]; // 0xb60 int32_t m_nARDMHeroesPrecached; // 0xb90 float m_fLastARDMPrecache; // 0xb94 // MNetworkEnable int32_t m_nAllDraftPhase; // 0xb98 // MNetworkEnable bool m_bAllDraftRadiantFirst; // 0xb9c // MNetworkEnable bool m_bAllowOverrideVPK; // 0xb9d private: [[maybe_unused]] uint8_t __pad0b9e[0x2]; // 0xb9e public: // MNetworkEnable int32_t m_nARDMHeroesRemaining[2]; // 0xba0 bool m_bUpdateHeroStatues; // 0xba8 private: [[maybe_unused]] uint8_t __pad0ba9[0x17]; // 0xba9 public: // MNetworkEnable bool m_bExperimentalGameplay; // 0xbc0 private: [[maybe_unused]] uint8_t __pad0bc1[0x3f]; // 0xbc1 public: CUtlVector< int32 > m_vecPlayerMMR; // 0xc00 // MNetworkEnable uint32_t m_lobbyType; // 0xc18 // MNetworkEnable LeagueID_t m_lobbyLeagueID; // 0xc1c // MNetworkEnable char m_lobbyGameName[256]; // 0xc20 // MNetworkEnable // MNetworkChangeCallback "OnHeroStatueLiked" C_UtlVectorEmbeddedNetworkVar< CHeroStatueLiked > m_vecHeroStatueLiked; // 0xd20 // MNetworkEnable int32_t m_CustomGameTeamMaxPlayers[15]; // 0xd70 // MNetworkEnable int32_t m_iMutations[5]; // 0xdac // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_IngameEvent_Base > > m_vecIngameEvents; // 0xdc0 // MNetworkEnable int8_t m_nPrimaryIngameEventIndex; // 0xdd8 private: [[maybe_unused]] uint8_t __pad0dd9[0x3]; // 0xdd9 public: // MNetworkEnable // MNetworkChangeCallback "OnObsoleteIngameEventChanged" // MNetworkAlias "m_hIngameEvent" CHandle< C_IngameEvent_Base > m_hObsoleteIngameEvent; // 0xddc uint32_t m_nOfrendaPledges; // 0xde0 uint32_t m_nRadiantOfrendas; // 0xde4 uint32_t m_nDireOfrendas; // 0xde8 // MNetworkEnable bool m_bOfrendaEnabled; // 0xdec private: [[maybe_unused]] uint8_t __pad0ded[0x33]; // 0xded public: // MNetworkEnable C_NetworkUtlVectorBase< NeutralSpawnBoxes_t > m_NeutralSpawnBoxes; // 0xe20 // MNetworkEnable C_NetworkUtlVectorBase< RegionTriggerBoxes_t > m_RegionTriggerBoxes; // 0xe38 private: [[maybe_unused]] uint8_t __pad0e50[0xfb8]; // 0xe50 public: double m_flLastPerfSampleTime; // 0x1e08 double m_flLastPerfSampleSendTime; // 0x1e10 bool m_bDidSeeStrategyTime; // 0x1e18 private: [[maybe_unused]] uint8_t __pad1e19[0x8d57]; // 0x1e19 public: double m_flLastUnfocusedSleepTime; // 0xab70 }; // Alignment: 1 // Size: 0x530 class C_DOTA_DisplacementVisibility : public C_BaseEntity { public: // MNetworkEnable int32_t m_HiddenDisplacement; // 0x528 }; // Alignment: 0 // Size: 0x528 class C_DOTABaseCustomHeroPickRules : public C_BaseEntity { public: // No members available }; // Alignment: 3 // Size: 0x138 class CDOTACustomShopItemInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable AbilityID_t m_nAbilityID; // 0x30 // MNetworkEnable int32_t m_nStockCount; // 0x34 // MNetworkEnable char m_Category[256]; // 0x38 }; // Alignment: 2 // Size: 0x180 class CDOTACustomShopInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable char m_CustomShopName[256]; // 0x30 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopItemInfo > m_CustomShopItems; // 0x130 }; // Alignment: 91 // Size: 0x6c0 class C_DOTABaseGameMode : public C_BaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnForcedHUDSkinChanged" CUtlString m_ForcedHUDSkin; // 0x528 // MNetworkEnable int32_t m_nCustomGameForceHeroSelectionId; // 0x530 // MNetworkEnable bool m_bAlwaysShowPlayerInventory; // 0x534 // MNetworkEnable bool m_bGoldSoundDisabled; // 0x535 // MNetworkEnable bool m_bRecommendedItemsDisabled; // 0x536 // MNetworkEnable bool m_bStickyItemDisabled; // 0x537 // MNetworkEnable bool m_bStashPurchasingDisabled; // 0x538 // MNetworkEnable bool m_bFogOfWarDisabled; // 0x539 // MNetworkEnable bool m_bUseUnseenFOW; // 0x53a // MNetworkEnable bool m_bUseCustomBuybackCost; // 0x53b // MNetworkEnable bool m_bUseCustomBuybackCooldown; // 0x53c // MNetworkEnable bool m_bBuybackEnabled; // 0x53d // MNetworkEnable bool m_bUseTurboCouriers; // 0x53e private: [[maybe_unused]] uint8_t __pad053f[0x1]; // 0x53f public: // MNetworkEnable float m_flCameraDistanceOverride; // 0x540 // MNetworkEnable int32_t m_nCameraSmoothCountOverride; // 0x544 // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hOverrideSelectionEntity; // 0x548 // MNetworkEnable bool m_bTopBarTeamValuesOverride; // 0x54c // MNetworkEnable bool m_bTopBarTeamValuesVisible; // 0x54d private: [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e public: // MNetworkEnable int32_t m_nTeamGoodGuysTopBarValue; // 0x550 // MNetworkEnable int32_t m_nTeamBadGuysTopBarValue; // 0x554 // MNetworkEnable bool m_bAlwaysShowPlayerNames; // 0x558 // MNetworkEnable bool m_bUseCustomHeroLevels; // 0x559 private: [[maybe_unused]] uint8_t __pad055a[0x6]; // 0x55a public: // MNetworkEnable C_NetworkUtlVectorBase< int32 > m_nCustomXPRequiredToReachNextLevel; // 0x560 // MNetworkEnable bool m_bTowerBackdoorProtectionEnabled; // 0x578 // MNetworkEnable bool m_bBotThinkingEnabled; // 0x579 // MNetworkEnable bool m_bAnnouncerDisabled; // 0x57a // MNetworkEnable bool m_bAnnouncerGameModeAnnounceDisabled; // 0x57b // MNetworkEnable bool m_bDeathTipsDisabled; // 0x57c // MNetworkEnable bool m_bFilterPlayerHeroAvailability; // 0x57d // MNetworkEnable bool m_bKillingSpreeAnnouncerDisabled; // 0x57e private: [[maybe_unused]] uint8_t __pad057f[0x1]; // 0x57f public: // MNetworkEnable float m_flFixedRespawnTime; // 0x580 // MNetworkEnable float m_flBuybackCostScale; // 0x584 // MNetworkEnable float m_flRespawnTimeScale; // 0x588 // MNetworkEnable bool m_bLoseGoldOnDeath; // 0x58c // MNetworkEnable bool m_bKillableTombstones; // 0x58d private: [[maybe_unused]] uint8_t __pad058e[0x2]; // 0x58e public: // MNetworkEnable uint32_t m_nHUDVisibilityBits; // 0x590 // MNetworkEnable float m_flMinimumAttackSpeed; // 0x594 // MNetworkEnable float m_flMaximumAttackSpeed; // 0x598 // MNetworkEnable bool m_bIsDaynightCycleDisabled; // 0x59c private: [[maybe_unused]] uint8_t __pad059d[0x3]; // 0x59d public: // MNetworkEnable float m_flDaynightCycleAdvanceRate; // 0x5a0 // MNetworkEnable bool m_bAreWeatherEffectsDisabled; // 0x5a4 // MNetworkEnable bool m_bDisableHudFlip; // 0x5a5 // MNetworkEnable bool m_bEnableFriendlyBuildingMoveTo; // 0x5a6 // MNetworkEnable bool m_bIsDeathOverlayDisabled; // 0x5a7 // MNetworkEnable bool m_bIsHudCombatEventsDisabled; // 0x5a8 private: [[maybe_unused]] uint8_t __pad05a9[0x7]; // 0x5a9 public: // MNetworkEnable CUtlString m_strDefaultStickyItem; // 0x5b0 // MNetworkEnable CUtlString m_sCustomTerrainWeatherEffect; // 0x5b8 // MNetworkEnable CUtlString m_strTPScrollSlotItemOverride; // 0x5c0 // MNetworkEnable float m_flStrengthDamage; // 0x5c8 // MNetworkEnable float m_flStrengthHP; // 0x5cc // MNetworkEnable float m_flStrengthHPRegen; // 0x5d0 // MNetworkEnable float m_flAgilityDamage; // 0x5d4 // MNetworkEnable float m_flAgilityArmor; // 0x5d8 // MNetworkEnable float m_flAgilityAttackSpeed; // 0x5dc // MNetworkEnable float m_flAgilityMovementSpeedPercent; // 0x5e0 // MNetworkEnable float m_flIntelligenceDamage; // 0x5e4 // MNetworkEnable float m_flIntelligenceMana; // 0x5e8 // MNetworkEnable float m_flIntelligenceManaRegen; // 0x5ec // MNetworkEnable float m_flIntelligenceMres; // 0x5f0 // MNetworkEnable float m_flIntelligenceSpellAmpPercent; // 0x5f4 // MNetworkEnable float m_flStrengthMagicResistancePercent; // 0x5f8 // MNetworkEnable float m_flAttributeAllDamage; // 0x5fc // MNetworkEnable float m_flDraftingHeroPickSelectTimeOverride; // 0x600 // MNetworkEnable float m_flDraftingBanningTimeOverride; // 0x604 // MNetworkEnable bool m_bPauseEnabled; // 0x608 private: [[maybe_unused]] uint8_t __pad0609[0x3]; // 0x609 public: // MNetworkEnable float m_flCustomScanCooldown; // 0x60c // MNetworkEnable float m_flCustomGlyphCooldown; // 0x610 // MNetworkEnable float m_flCustomBackpackSwapCooldown; // 0x614 // MNetworkEnable float m_flCustomBackpackCooldownPercent; // 0x618 // MNetworkEnable bool m_bDefaultRuneSpawnLogic; // 0x61c // MNetworkEnable bool m_bEnableFreeCourierMode; // 0x61d // MNetworkEnable bool m_bAllowNeutralItemDrops; // 0x61e // MNetworkEnable bool m_bEnableNeutralStash; // 0x61f // MNetworkEnable bool m_bEnableNeutralStashTeamViewOnly; // 0x620 // MNetworkEnable bool m_bEnableNeutralItemHideUndiscovered; // 0x621 // MNetworkEnable bool m_bEnableSendToStash; // 0x622 // MNetworkEnable bool m_bForceRightClickAttackDisabled; // 0x623 private: [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x628 // MNetworkEnable bool m_bCanSellAnywhere; // 0x678 private: [[maybe_unused]] uint8_t __pad0679[0x3]; // 0x679 public: // MNetworkEnable float m_flCameraNearZ; // 0x67c // MNetworkEnable float m_flCameraFarZ; // 0x680 // MNetworkEnable int32_t m_nCustomRadiantScore; // 0x684 // MNetworkEnable int32_t m_nCustomDireScore; // 0x688 // MNetworkEnable bool m_bAbilityUpgradeWhitelistEnabled; // 0x68c private: [[maybe_unused]] uint8_t __pad068d[0x3]; // 0x68d public: // MNetworkEnable C_NetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x690 // MNetworkEnable bool m_bGiveFreeTPOnDeath; // 0x6a8 private: [[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9 public: // MNetworkEnable int32_t m_nInnateMeleeDamageBlockPct; // 0x6ac // MNetworkEnable int32_t m_nInnateMeleeDamageBlockAmount; // 0x6b0 // MNetworkEnable int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x6b4 // MNetworkEnable float m_flWaterRuneSpawnInterval; // 0x6b8 uint32_t m_nHUDVisibilityBitsPrevious; // 0x6bc }; // Alignment: 0 // Size: 0x6c0 class C_DOTATurboGameMode : public C_DOTABaseGameMode { public: // No members available }; // Alignment: 0 // Size: 0x6c0 class C_DOTANewPlayerPoolGameMode : public C_DOTABaseGameMode { public: // No members available }; // Alignment: 0 // Size: 0x6c0 class C_DOTAMutationGameMode : public C_DOTABaseGameMode { public: // No members available }; // Alignment: 1 // Size: 0x530 class C_DOTATurboHeroPickRules : public C_DOTABaseCustomHeroPickRules { public: // MNetworkEnable DOTACustomHeroPickRulesPhase_t m_Phase; // 0x528 }; // Alignment: 4 // Size: 0x538 class C_DOTACustomGameHeroPickRules : public C_DOTABaseCustomHeroPickRules { public: // MNetworkEnable DOTACustomHeroPickRulesPhase_t m_Phase; // 0x528 // MNetworkEnable int32_t m_nNumBansPerTeam; // 0x52c // MNetworkEnable GameTime_t m_flEnterTime; // 0x530 int32_t m_nNumHeroesPicked; // 0x534 }; // Alignment: 7 // Size: 0x148 class C_SpeechBubbleInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable char m_LocalizationStr[256]; // 0x30 // MNetworkEnable CHandle< C_BaseEntity > m_hNPC; // 0x130 // MNetworkEnable GameTime_t m_flStartTime; // 0x134 // MNetworkEnable float m_flDuration; // 0x138 // MNetworkEnable uint32_t m_unOffsetX; // 0x13c // MNetworkEnable uint32_t m_unOffsetY; // 0x140 // MNetworkEnable uint16_t m_unCount; // 0x144 }; // Alignment: 9 // Size: 0xb0 class C_DOTA_UnitInventory { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CUtlVector< sSharedCooldownInfo > m_SharedCooldownList; // 0x8 // MNetworkEnable CHandle< C_BaseEntity > m_hItems[19]; // 0x20 bool m_bItemQueried[19]; // 0x6c private: [[maybe_unused]] uint8_t __pad007f[0x1]; // 0x7f public: // MNetworkEnable // MNetworkChangeCallback "OnInventoryParityChanged" int32_t m_iParity; // 0x80 // MNetworkEnable CHandle< C_BaseEntity > m_hInventoryParent; // 0x84 bool m_bIsActive; // 0x88 // MNetworkEnable bool m_bStashEnabled; // 0x89 private: [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a public: // MNetworkEnable CHandle< C_BaseEntity > m_hTransientCastItem; // 0x8c private: [[maybe_unused]] uint8_t __pad0090[0x18]; // 0x90 public: bool m_bSendChangedMsg; // 0xa8 }; // Alignment: 3 // Size: 0x108 class CDOTA_ArcanaDataEntity_DrowRanger : public CDOTA_ArcanaDataEntity_Base { public: // MNetworkEnable // MNetworkChangeCallback "OnDrowArcanaChanged" int8_t m_vecDrowRangerArcanaTargetPlayerID[24]; // 0x30 // MNetworkEnable // MNetworkChangeCallback "OnDrowArcanaChanged" GameTime_t m_vecDrowRangerArcanaDeathTime[24]; // 0x48 // MNetworkEnable // MNetworkChangeCallback "OnDrowArcanaChanged" GameTime_t m_vecDrowRangerArcanaKillTime[24]; // 0xa8 }; // Alignment: 2 // Size: 0x38 class CDOTA_ArcanaDataEntity_FacelessVoid : public CDOTA_ArcanaDataEntity_Base { public: // MNetworkEnable int32_t m_nNumPoints; // 0x30 // MNetworkEnable // MNetworkChangeCallback "OnFacelessVoidArcanaChanged" GameTime_t m_flShowPopupTime; // 0x34 }; // Alignment: 1 // Size: 0x38 class CDOTA_ArcanaDataEntity_Razor : public CDOTA_ArcanaDataEntity_Base { public: // MNetworkEnable // MNetworkChangeCallback "OnRazorArcanaChanged" int32_t m_nEmpoweredKills; // 0x30 }; // Alignment: 3 // Size: 0x540 class C_DOTA_ArcanaDataEntity : public C_BaseEntity { public: // MNetworkEnable CDOTA_ArcanaDataEntity_DrowRanger* m_pArcanaData_CDOTA_ArcanaDataEntity_DrowRanger; // 0x528 // MNetworkEnable CDOTA_ArcanaDataEntity_FacelessVoid* m_pArcanaData_CDOTA_ArcanaDataEntity_FacelessVoid; // 0x530 // MNetworkEnable CDOTA_ArcanaDataEntity_Razor* m_pArcanaData_CDOTA_ArcanaDataEntity_Razor; // 0x538 }; // Alignment: 1 // Size: 0x30 class C_DotaTree { private: [[maybe_unused]] uint8_t __pad0000[0x2c]; // 0x0 public: uint32_t m_unOccluderID; // 0x2c }; // Alignment: 15 // Size: 0x70 class CDOTA_PlayerChallengeInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t nType; // 0x30 // MNetworkEnable int32_t nQuestID; // 0x34 // MNetworkEnable int32_t nQuestChallengeID; // 0x38 // MNetworkEnable int32_t nTier; // 0x3c // MNetworkEnable int32_t nParam0; // 0x40 // MNetworkEnable int32_t nParam1; // 0x44 // MNetworkEnable int32_t nSlotID; // 0x48 // MNetworkEnable int32_t nProgress; // 0x4c // MNetworkEnable int32_t nCompletionThreshold; // 0x50 // MNetworkEnable PlayerID_t nPlayerID; // 0x54 // MNetworkEnable int32_t nQueryIndex; // 0x58 // MNetworkEnable int32_t nEventID; // 0x5c // MNetworkEnable int32_t nSequenceID; // 0x60 // MNetworkEnable int32_t nCompleted; // 0x64 // MNetworkEnable int32_t nRank; // 0x68 }; // Alignment: 11 // Size: 0x60 class CDOTASubChallengeInfo { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t nType; // 0x30 // MNetworkEnable int32_t nTier; // 0x34 // MNetworkEnable int32_t nSlotID; // 0x38 // MNetworkEnable int32_t nProgress; // 0x3c // MNetworkEnable int32_t nCompletionThreshold; // 0x40 // MNetworkEnable PlayerID_t nPlayerID; // 0x44 // MNetworkEnable int32_t nQueryIndex; // 0x48 // MNetworkEnable int32_t nEventID; // 0x4c // MNetworkEnable int32_t nSequenceID; // 0x50 // MNetworkEnable int32_t nRequiredHero; // 0x54 // MNetworkEnable int32_t nCompleted; // 0x58 }; // Alignment: 4 // Size: 0x38 class C_DOTA_CombatLogQueryProgress { private: [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 public: // MNetworkEnable PlayerID_t m_nPlayerID; // 0x28 // MNetworkEnable int32_t m_nQueryID; // 0x2c // MNetworkEnable int32_t m_nQueryRank; // 0x30 // MNetworkEnable int32_t m_nMultiQueryID; // 0x34 }; // Alignment: 28 // Size: 0x18b0 class C_IngameEvent_Base : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x10]; // 0x528 public: bool m_bInitialized; // 0x538 private: [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MNetworkEnable int32_t m_CompendiumChallengeEventID[24]; // 0x53c // MNetworkEnable int32_t m_CompendiumChallengeSequenceID[24]; // 0x59c // MNetworkEnable int32_t m_CompendiumChallengeCoinReward[24]; // 0x5fc // MNetworkEnable int32_t m_CompendiumChallengeCoinSplash[24]; // 0x65c // MNetworkEnable int32_t m_CompendiumChallengePointReward[24]; // 0x6bc // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" bool m_CompendiumChallengeCompleted[24]; // 0x71c // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" bool m_CompendiumChallengeFailed[24]; // 0x734 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" int32_t m_CompendiumChallengeProgress[24]; // 0x74c // MNetworkEnable int32_t m_QueryIDForProgress[24]; // 0x7ac private: [[maybe_unused]] uint8_t __pad080c[0x4]; // 0x80c public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTASubChallengeInfo > m_SubChallenges; // 0x810 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" int32_t m_CompendiumCoinWager[10]; // 0x860 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" itemid_t m_CompendiumTokenWagerItemID[10]; // 0x888 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" int32_t m_CompendiumWagerTokenBonusPct[10]; // 0x8d8 // MNetworkEnable int32_t m_CompendiumCoinWagerResults[10]; // 0x900 // MNetworkEnable // MNetworkChangeCallback "OnWagerChanged" int32_t m_CompendiumRankWagers[10]; // 0x928 // MNetworkEnable // MNetworkChangeCallback "OnWagerTimeChanged" float m_flWagerTimer; // 0x950 // MNetworkEnable GameTime_t m_flWagerEndTime; // 0x954 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< CDOTA_PlayerChallengeInfo > m_CompendiumChallengeInfo; // 0x958 // MNetworkEnable // MNetworkTypeAlias "DOTA_CombatLogQueryProgress" C_UtlVectorEmbeddedNetworkVar< C_DOTA_CombatLogQueryProgress > m_PlayerQueryIDs; // 0x1418 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerChallengeProgressChanged" int32_t m_ProgressForQueryID[100]; // 0x1468 // MNetworkEnable int32_t m_GoalForQueryID[100]; // 0x15f8 // MNetworkEnable int32_t m_PlayerQuestRankPreviouslyCompleted[10]; // 0x1788 // MNetworkEnable // MNetworkChangeCallback "OnClientPlayerQuestRankChanged" int32_t m_PlayerQuestRankCompleted[10]; // 0x17b0 // MNetworkEnable PlayerID_t m_PlayerBountyTarget[10]; // 0x17d8 // MNetworkEnable GameTime_t m_flPlayerBountyTimestamp[10]; // 0x1800 // MNetworkEnable int32_t m_PlayerBountyCount[10]; // 0x1828 // MNetworkEnable // MNetworkChangeCallback "OnPlayerBountyTimestampChanged" int32_t m_PlayerBountyTimestamp_Obsolete[24]; // 0x1850 }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_FM2015 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_WM2016 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_TI6 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_FM2016 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_WM2017 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_TI7 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_TI8 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_DotaPlus : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_DotaPrime : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_FV2018 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_NewBloom2019 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_TI9 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_FV2019 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class C_IngameEvent_NB2020 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_TI2020 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_Diretide2020 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_Spring2021 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_Fall2021 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 0 // Size: 0x18b0 class CIngameEvent_TI2022 : public C_IngameEvent_Base { public: // No members available }; // Alignment: 5 // Size: 0x18f8 class CIngameEvent_MuertaReleaseSpring2023 : public C_IngameEvent_Base { public: // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGameActiveChanged" bool m_bMiniGameActive; // 0x18b0 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventTargetAssignmentsChanged" int8_t m_vecTargetAssignments[10]; // 0x18b1 // MNetworkEnable // MNetworkChangeCallback "OnMuertaReleaseEventMiniGamePointsChanged" uint8_t m_vecMiniGamePoints[10]; // 0x18bb // MNetworkEnable uint8_t m_vecMiniGameKills[10]; // 0x18c5 private: [[maybe_unused]] uint8_t __pad18cf[0x11]; // 0x18cf public: CUtlVector< ParticleIndex_t > m_activeGravestones; // 0x18e0 }; // Alignment: 7 // Size: 0x278 class CDOTA_ModifierManager { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MNetworkEnable CHandle< C_BaseEntity > m_hModifierParent; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x256]; // 0xc public: uint16_t m_nHasTruesightForTeam; // 0x262 uint16_t m_nHasTruesightForTeamValid; // 0x264 uint16_t m_nProvidesFOWPositionForTeam; // 0x266 uint16_t m_nProvidesFOWPositionForTeamValid; // 0x268 private: [[maybe_unused]] uint8_t __pad026a[0x2]; // 0x26a public: int32_t m_iBuffIndex; // 0x26c int32_t m_iLockRefCount; // 0x270 }; // Alignment: 0 // Size: 0x10 class C_HorizontalMotionController { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // No members available }; // Alignment: 0 // Size: 0x10 class C_VerticalMotionController { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Buff_Item : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_SetScaleset : public CDOTA_Buff { public: CUtlString m_Scaleset; // 0x11e8 bool m_bActive; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff { public: float melee_number; // 0x11e8 float ranged_number; // 0x11ec float siege_number; // 0x11f0 int32_t lane; // 0x11f4 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_FillerThinker : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11e8 bool bStarted; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: int32_t nCount; // 0x1204 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item { public: int32_t radius; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff { public: int32_t hp_heal; // 0x11e8 int32_t mp_heal; // 0x11ec int32_t hp_heal_growth; // 0x11f0 float mp_heal_growth; // 0x11f4 int32_t hp_heal_pct; // 0x11f8 int32_t mp_heal_pct; // 0x11fc int32_t tota_hp_per_second; // 0x1200 int32_t tota_mp_per_second; // 0x1204 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff { public: Vector m_vecPosition; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff { public: int32_t m_nAuraRadius; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 bool m_bOverrideArmor; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: float hp_regen; // 0x11f0 bool m_bOverrideRegen; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t m_nRadius; // 0x11f8 }; // Alignment: 5 // Size: 0x11f8 class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 float hp_regen; // 0x11ec bool m_bOverrideArmor; // 0x11f0 bool m_bOverrideRegen; // 0x11f1 bool m_bSentFirstRefresh; // 0x11f2 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff { public: int32_t reveal_radius; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff { public: int32_t reveal_radius; // 0x11e8 float increase_health; // 0x11ec int32_t max_health; // 0x11f0 float increase_armor; // 0x11f4 float max_armor; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pet : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_HeroStatue : public CDOTA_Buff { public: uint32_t m_unStatusEffectIndex; // 0x11e8 CHandle< C_BaseEntity > m_hPedestal; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff { public: bool m_bFacePlayer; // 0x11e8 }; // Alignment: 3 // Size: 0x11f0 class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff { public: int32_t m_nActivity; // 0x11e8 bool m_bLoop; // 0x11ec bool m_bFacePlayer; // 0x11ed }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff { public: bool m_bRemoveOnDeath; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff { public: bool m_bIsFriend; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff { public: HSCRIPT m_hHorizontalControlFunction; // 0x11e8 HSCRIPT m_hVerticalControlFunction; // 0x11f0 HSCRIPT m_hOnDestroyFunction; // 0x11f8 CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_VR_Modifier_Statue_Mode : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff { public: int32_t damage_absorb; // 0x11e8 bool m_bStartedTimer; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: int32_t m_nDamageAbsorbed; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_HP_Regen : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MP_Regen : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MagicImmune : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CameraFollow : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hexed : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Editor : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kill : public CDOTA_Buff { public: bool m_bHideOnKill; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Phased : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dominated : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrueSight : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Stunned : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Taunt : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff { public: float fade_delay; // 0x11e8 float m_flFadeTime; // 0x11ec GameTime_t m_flLastActionTime; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Invisible : public CDOTA_Buff { public: bool m_bSubtle; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: GameTime_t m_flFadeTime; // 0x11ec float m_flFadeTimeValue; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Followthrough : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Fear : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AttackImmune : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Disarmed : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Break : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muted : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rooted : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FountainAura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1248 class CDOTA_Modifier_Illusion : public CDOTA_Buff { public: int32_t outgoing_damage; // 0x11e8 int32_t outgoing_damage_structure; // 0x11ec int32_t outgoing_damage_roshan; // 0x11f0 int32_t incoming_damage; // 0x11f4 int32_t bounty_base; // 0x11f8 int32_t bounty_growth; // 0x11fc CUtlString m_strIllusionType; // 0x1200 char m_szIllusionLabel[64]; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage { public: int32_t m_iAdditionalDamagePct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff { public: int32_t m_iCooldownReductionPct; // 0x11e8 int32_t m_iCostReductionPct; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Teleporting : public CDOTA_Buff { public: float m_fChannelTime; // 0x11e8 Vector m_vStart; // 0x11ec Vector m_vEnd; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff { public: // No members available }; // Alignment: 10 // Size: 0x1218 class CDOTA_Modifier_Knockback : public CDOTA_Buff { public: float knockback_distance; // 0x11e8 int32_t knockback_height; // 0x11ec float knockback_duration; // 0x11f0 Vector m_vHorizOffset; // 0x11f4 Vector m_vStartPosition; // 0x1200 float m_fCurrentTimeHoriz; // 0x120c float m_fCurrentTimeVert; // 0x1210 bool m_bShouldStun; // 0x1214 bool m_bRespectLeash; // 0x1215 bool m_bReversePolarity; // 0x1216 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Cyclone : public CDOTA_Buff { public: GameTime_t m_flStartTime; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_IceSlide : public CDOTA_Buff { public: GameTime_t m_fLastUpdateTime; // 0x11e8 Vector m_vVelocity; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff { public: bool m_bTargetFriendlies; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1218 class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff { public: CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11e8 CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x1200 // 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);}; static CUtlVector< PlayerID_t > &Get_s_vecGlowingPlayerIDs2(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_HallOfFame_Glow")->m_static_fields[1]->m_instance);}; }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff { public: CUtlSymbolLarge m_activityModifier; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1200 class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTree; // 0x11e8 bool m_bGroundToTree; // 0x11ec bool m_bTreeToGround; // 0x11ed bool m_bTreeToTree; // 0x11ee private: [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef public: float perched_day_vision; // 0x11f0 float perched_night_vision; // 0x11f4 bool m_bAbilityIsStolen; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff { public: bool m_bEnemiesOnly; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff { public: int32_t creep_attack_divisor; // 0x11e8 int32_t attack_count; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_NPXBuff : public CDOTA_Buff { public: int32_t m_nCurReduction; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned { public: CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x11e8 int32_t damage_reduction_percent; // 0x11ec }; // Alignment: 63 // Size: 0x3590 class CDOTA_Modifier_DataDriven : public CDOTA_Buff { public: AbilityID_t m_nAbilityID; // 0x11e8 int32_t m_nIndexInAbility; // 0x11ec bool m_bIsHidden; // 0x11f0 bool m_bIsDebuff; // 0x11f1 bool m_bIsPurgable; // 0x11f2 bool m_bIsStunDebuff; // 0x11f3 bool m_bAllowIllusionDuplicate; // 0x11f4 bool m_bRemoveOnDeath; // 0x11f5 private: [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 public: char* m_pszAuraModifier; // 0x11f8 int32_t m_nAuraModifierIndex; // 0x1200 int32_t m_nAuraRadius; // 0x1204 int32_t m_nAuraSearchTeam; // 0x1208 int32_t m_nAuraSearchType; // 0x120c int32_t m_nAuraSearchFlags; // 0x1210 bool m_bAuraApplyToCaster; // 0x1214 bool m_bAuraApplyToParent; // 0x1215 private: [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 public: int32_t m_nAttributes; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: char* m_pszEffectName; // 0x1220 int32_t m_nEffectAttachType; // 0x1228 int32_t m_nPriority; // 0x122c char* m_pszStatusEffectName; // 0x1230 int32_t m_nStatusEffectPriority; // 0x1238 int32_t m_nOverrideAnimation; // 0x123c int32_t m_nOrbPriority; // 0x1240 int32_t m_nOrbLabel; // 0x1244 bool m_bOrbIsCastAttack; // 0x1248 private: [[maybe_unused]] uint8_t __pad1249[0x3]; // 0x1249 public: float m_flThinkInterval; // 0x124c bool m_bNeedsReParseIfRefreshed; // 0x1250 private: [[maybe_unused]] uint8_t __pad1251[0x7]; // 0x1251 public: char* m_pszModelName; // 0x1258 char* m_pszOrbProjectileName; // 0x1260 private: [[maybe_unused]] uint8_t __pad1268[0x2220]; // 0x1268 public: uint64_t m_nModifierStatesEnabled; // 0x3488 uint64_t m_nModifierStatesDisabled; // 0x3490 KeyValues* m_pOnCreated; // 0x3498 KeyValues* m_pOnIntervalThink; // 0x34a0 KeyValues* m_pOnDestroy; // 0x34a8 KeyValues* m_pOnAttackStart; // 0x34b0 KeyValues* m_pOnAttack; // 0x34b8 KeyValues* m_pOnAttackLanded; // 0x34c0 KeyValues* m_pOnAttackFailed; // 0x34c8 KeyValues* m_pOnAttackAllied; // 0x34d0 KeyValues* m_pOnProjectileDodge; // 0x34d8 KeyValues* m_pOnOrder; // 0x34e0 KeyValues* m_pOnUnitMoved; // 0x34e8 KeyValues* m_pOnAbilityStart; // 0x34f0 KeyValues* m_pOnAbilityExecuted; // 0x34f8 KeyValues* m_pOnBreakInvisibility; // 0x3500 KeyValues* m_pOnAbilityEndChannel; // 0x3508 KeyValues* m_pOnTakeDamage; // 0x3510 KeyValues* m_pOnDealDamage; // 0x3518 KeyValues* m_pOnStateChanged; // 0x3520 KeyValues* m_pOnAttacked; // 0x3528 KeyValues* m_pOnDeath; // 0x3530 KeyValues* m_pOnKill; // 0x3538 KeyValues* m_pOnRespawn; // 0x3540 KeyValues* m_pOnSpentMana; // 0x3548 KeyValues* m_pOnTeleporting; // 0x3550 KeyValues* m_pOnTeleported; // 0x3558 KeyValues* m_pOnHealthGained; // 0x3560 KeyValues* m_pOnManaGained; // 0x3568 KeyValues* m_pOnHeroKilled; // 0x3570 KeyValues* m_pOnHealReceived; // 0x3578 KeyValues* m_pOnAttackFinished; // 0x3580 KeyValues* m_pOnAttackCancelled; // 0x3588 }; // Alignment: 1 // Size: 0x12d8 class CDOTA_Modifier_Lua : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0xe8]; // 0x11e8 public: bool m_bHasCustomTransmitterData; // 0x12d0 }; // Alignment: 0 // Size: 0x12d8 class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua { public: // No members available }; // Alignment: 0 // Size: 0x12d8 class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua { public: // No members available }; // Alignment: 0 // Size: 0x12d8 class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff { public: float strike_interval; // 0x11e8 int32_t radius; // 0x11ec int32_t strike_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff { public: int32_t strike_chance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: int32_t slow_amount; // 0x11e8 }; // Alignment: 1 // Size: 0x1258 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff { public: Vector m_PositionIndex[9]; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: Vector m_vStartLoc; // 0x11e8 CHandle< C_BaseEntity > m_hEntity; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t max_ticks; // 0x11ec }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float formation_time; // 0x11ec bool m_bActive; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0xb]; // 0x11f1 public: int32_t m_nFXIndex; // 0x11fc }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff { public: int32_t radius; // 0x11e8 Vector m_vOriginLoc; // 0x11ec bool m_bCanBeAffected; // 0x11f8 bool m_bTruesight; // 0x11f9 private: [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa public: int32_t intellect_bonus; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff { public: int32_t m_nCurrentPulse; // 0x11e8 int32_t radius; // 0x11ec int32_t damage_max; // 0x11f0 int32_t pulses; // 0x11f4 float duration; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 int32_t movement_speed_reduction; // 0x11ec int32_t attack_speed_reduction; // 0x11f0 bool m_bHasScepter; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff { public: int32_t damage_reduction_pct; // 0x11e8 int32_t move_slow_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff { public: int32_t int_increase_amount; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff { public: int32_t damage_reduction_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: Vector m_vDirection; // 0x11e8 float m_flEndTime; // 0x11f4 float m_flCurTime; // 0x11f8 float pull_duration; // 0x11fc float effective_distance; // 0x1200 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff { public: int32_t bonus_damage_pct; // 0x11e8 float cleave_damage_pct; // 0x11ec int32_t cleave_starting_width; // 0x11f0 int32_t cleave_ending_width; // 0x11f4 int32_t cleave_distance; // 0x11f8 float splash_damage_pct; // 0x11fc int32_t splash_radius; // 0x1200 float self_multiplier; // 0x1204 int32_t lifesteal_pct; // 0x1208 GameTime_t m_fLastShockwaveProcTime; // 0x120c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff { public: float slow_duration; // 0x11e8 int32_t skewer_damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: int32_t strength_gain; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff { public: int32_t move_speed_percent; // 0x11e8 int32_t attack_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: int32_t base_damage; // 0x11e8 int32_t attack_factor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff { public: int32_t strike_chance; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_evasion; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff { public: int32_t damage_reduction_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff { public: int32_t bonus_evasion; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 float fade_duration; // 0x11fc bool m_bDestroyNext; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: int32_t crit_bonus; // 0x11e8 int32_t crit_chance; // 0x11ec bool crit_active; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 3 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff { public: int32_t damage_modifier; // 0x11e8 int32_t split_shot_bonus_range; // 0x11ec int32_t arrow_count; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_iAttacksRemaining; // 0x11ec }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: float attack_point; // 0x11e8 int32_t attack_range_bonus; // 0x11ec int32_t projectile_speed_bonus; // 0x11f0 int32_t night_vision_bonus; // 0x11f4 CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: float damage_per_second; // 0x11e8 int32_t move_slow; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff { public: float pull_speed; // 0x11e8 Vector vPullLocation; // 0x11ec }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { public: int32_t m_nOriginalAttackCapability; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x8]; // 0x11ec public: bool m_bDidBlast; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t heal_additive; // 0x11f8 float heal_percentage; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff { public: int32_t barrier_amount; // 0x11e8 int32_t barrier_block; // 0x11ec int32_t m_nMaxMovementSpeed; // 0x11f0 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_nAlliesTaunted; // 0x11ec bool m_bRelicTriggered; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t radius; // 0x11f4 int32_t damage_amplification; // 0x11f8 int32_t damage_reduction; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: bool m_bIsPointBlank; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t movement_slow_pct; // 0x11ec int32_t attack_slow_pct; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: float jump_duration; // 0x11e8 bool m_bMovesHorizontal; // 0x11ec bool m_bSecondaryCookie; // 0x11ed }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 int32_t bonus_attack_damage; // 0x11ec }; // Alignment: 11 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 int32_t m_nIsActive; // 0x1208 bool m_bHasAttackTalent; // 0x120c private: [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d public: int32_t attack_range_bonus; // 0x1210 int32_t buffed_attacks; // 0x1214 float base_attack_time; // 0x1218 int32_t attack_speed_bonus; // 0x121c float armor_duration; // 0x1220 int32_t damage; // 0x1224 int32_t bounce_range; // 0x1228 int32_t bounces; // 0x122c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: float armor_reduction_per_attack; // 0x11e8 }; // Alignment: 16 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff { public: float m_fIntervalPerRocket; // 0x11e8 float m_flFacingTarget; // 0x11ec ParticleIndex_t m_nBeamFXIndex; // 0x11f0 CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f4 float m_flCurDistance; // 0x11f8 Vector m_vAimTarget; // 0x11fc float m_fLastTurnAmount; // 0x1208 int32_t m_nProjectilesLaunched; // 0x120c bool m_bDestroyOnNextThink; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_nProjectilesToLaunch; // 0x1214 bool m_bHasProjectileTalent; // 0x1218 private: [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: int32_t projectile_count; // 0x121c int32_t projectile_vision; // 0x1220 float turn_rate; // 0x1224 int32_t min_range; // 0x1228 float delay_after_last_projectile; // 0x122c }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff { public: float burn_interval; // 0x11e8 int32_t impact_radius; // 0x11ec int32_t move_slow_pct; // 0x11f0 float burn_linger_duration; // 0x11f4 ParticleIndex_t m_nPathEffectIndex; // 0x11f8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: int32_t m_nMoveSlowPct; // 0x11e8 float m_fBurnDamagePerTick; // 0x11ec int32_t move_slow_pct; // 0x11f0 float burn_interval; // 0x11f4 int32_t burn_damage; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11e8 float max_time_in_belly; // 0x11ec }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: int32_t min_range; // 0x11e8 float min_lob_travel_time; // 0x11ec float max_lob_travel_time; // 0x11f0 int32_t impact_radius; // 0x11f4 int32_t projectile_vision; // 0x11f8 float stun_duration; // 0x11fc int32_t impact_damage; // 0x1200 float min_height_above_lowest; // 0x1204 float min_height_above_highest; // 0x1208 float min_acceleration; // 0x120c float max_acceleration; // 0x1210 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff { public: Vector m_vPos; // 0x11e8 int32_t radius; // 0x11f4 float damage; // 0x11f8 float explosion_interval; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff { public: int32_t crit_multiplier; // 0x11e8 float air_time; // 0x11ec float slow_duration; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x1200 bool m_bWalrusPunch; // 0x1204 bool m_bPunchKill; // 0x1205 private: [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 float slow_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff { public: float spell_lifesteal_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff { public: int32_t damage_per_stack; // 0x11e8 float bonus_reset_time; // 0x11ec float bonus_reset_time_roshan; // 0x11f0 int32_t max_swipe_stack; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: int32_t damage_per_stack; // 0x11e8 int32_t m_nArmorReductionPerStack; // 0x11ec int32_t m_nLifestealPerStack; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff { public: int32_t attack_speed_bonus_pct; // 0x11e8 int32_t m_nEarthshockAttacks; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff { public: int32_t m_nMissChance; // 0x11e8 bool m_bAddOverpower; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: float m_flOverpowerDuration; // 0x11f0 int32_t m_nNumOverpowerAttacks; // 0x11f4 int32_t movement_slow; // 0x11f8 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible { public: CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback { public: float value3; // 0x1218 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff { public: int32_t value2; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 bool m_bDidSetAttackTarget; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t status_resistance; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune { public: int32_t m_nModelScale; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff { public: int32_t value2; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff { public: int32_t value2; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: float radius; // 0x11e8 float formation_time; // 0x11ec float m_flInitialZ; // 0x11f0 float m_flFinalZ; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: int32_t health_regen; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t width; // 0x11ec int32_t spear_damage; // 0x11f0 int32_t spear_distance_from_wall; // 0x11f4 float spear_attack_interval; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x1c]; // 0x11fc public: float warrior_fade_min_dist; // 0x1218 float warrior_fade_max_dist; // 0x121c }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float width; // 0x11ec Vector m_vOriginLoc; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff { public: int32_t knockback_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff { public: float physical_damage_reduction; // 0x11e8 float physical_damage_reduction_side; // 0x11ec float forward_angle; // 0x11f0 float side_angle; // 0x11f4 }; // Alignment: 12 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff { public: int32_t redirect_chance; // 0x11e8 int32_t redirect_range; // 0x11ec float forward_angle; // 0x11f0 float side_angle; // 0x11f4 int32_t redirect_speed_penatly; // 0x11f8 int32_t m_nPoseParameterWE; // 0x11fc int32_t m_nPoseParameterNS; // 0x1200 float m_flLastPoseX; // 0x1204 float m_flLastPoseY; // 0x1208 int32_t m_nLastMaxDirection; // 0x120c Vector m_vLastOrigin; // 0x1210 GameTime_t m_flLastGameTime; // 0x121c }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 int32_t path_radius; // 0x11f4 float linger_duration; // 0x11f8 float flDamage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: float flDamage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff { public: int32_t strength_gain; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff { public: int32_t stack_limit; // 0x11e8 float stack_interval; // 0x11ec ParticleIndex_t m_nFxIndexB; // 0x11f0 int32_t iCur_stack; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 6 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff { public: int32_t m_iMaxDist; // 0x11e8 int32_t m_iAttackCount; // 0x11ec int32_t destroy_attacks; // 0x11f0 Vector m_vDirection; // 0x11f4 Vector m_vStartLoc; // 0x1200 CHandle< C_BaseEntity > m_hAttachTarget; // 0x120c }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff { public: float armor_reduction; // 0x11e8 int32_t damage; // 0x11ec int32_t damage_share_percentage; // 0x11f0 float m_flCurrentArmorReduction; // 0x11f4 float flTotalDamage; // 0x11f8 }; // Alignment: 7 // Size: 0x1238 class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 int32_t damage; // 0x11fc int32_t speed; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1208 bool bHasStartedBurning; // 0x1220 private: [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 public: int32_t m_nBurningTrailRadius; // 0x1224 Vector m_vLastTrailThinkerLocation; // 0x1228 }; // Alignment: 2 // Size: 0x1260 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_iAttacksRemaining; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 4 // Size: 0x12c8 class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff { public: Vector m_PositionIndex[11]; // 0x11e8 float m_flLife[11]; // 0x126c float m_flMana[11]; // 0x1298 bool m_bHasValidHistory; // 0x12c4 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 int32_t path_radius; // 0x11f4 float linger_duration; // 0x11f8 float flDamage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff { public: float flDamage; // 0x11e8 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff { public: float duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t magic_resistance; // 0x11f0 float m_flAccumDamage; // 0x11f4 float m_flPoisonSnapCounter; // 0x11f8 int32_t m_nPoisonSnapThreshold; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff { public: int32_t min_damage; // 0x11e8 int32_t max_damage; // 0x11ec float max_duration; // 0x11f0 float m_flDamageInterval; // 0x11f4 float m_flTimeIncrement; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff { public: int32_t m_nRadius; // 0x11e8 float duration; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff { public: int32_t bonus_magic_resistance; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff { public: float m_flFactor; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t damage; // 0x11f0 bool m_bTargetedAlly; // 0x11f4 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t radius; // 0x11ec int32_t m_nTargetTeam; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 11 // Size: 0x1250 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff { public: Vector m_vFacingDir; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11f8 ParticleIndex_t m_nBeamFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< int32 > m_nViewerIDs; // 0x1218 int32_t remnant_watch_distance; // 0x1230 int32_t remnant_watch_radius; // 0x1234 float duration; // 0x1238 int32_t watch_path_vision_radius; // 0x123c int32_t impact_damage; // 0x1240 float pull_duration; // 0x1244 float activation_delay; // 0x1248 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff { public: int32_t remnant_watch_radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 PlayerID_t m_nPlayerID; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 Vector m_vFacingDir; // 0x11ec CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 bool m_bTriggered; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_flCurThink; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: int32_t m_nRadius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff { public: ParticleIndex_t m_nFXStackIndex; // 0x11e8 int32_t movement_slow_pct; // 0x11ec int32_t pop_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 19 // Size: 0x1288 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff { public: Vector m_vFirstPortalPos; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< Vector > m_vecDestinations; // 0x11f8 CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 int32_t m_nCurrentDestinationIndex; // 0x1240 int32_t m_nClosestIndexPosToClick; // 0x1244 int32_t m_nPortalHeightOffset; // 0x1248 private: [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c public: char* m_szAlliesPortalFX; // 0x1250 char* m_szEnemiesPortalFX; // 0x1258 int32_t m_nPortalRadius; // 0x1260 int32_t m_nPortalPadding; // 0x1264 int32_t m_nFinalImpactDamageRadius; // 0x1268 int32_t m_nFinalImpactFXRadius; // 0x126c int32_t destination_fx_radius; // 0x1270 int32_t damage_radius; // 0x1274 int32_t portals_per_ring; // 0x1278 int32_t angle_per_ring_portal; // 0x127c int32_t first_ring_distance_offset; // 0x1280 float debuff_duration; // 0x1284 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: int32_t base_absorb_amount; // 0x11e8 int32_t m_nAbsorbRemaining; // 0x11ec }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 int32_t speed; // 0x1210 int32_t radius; // 0x1214 int32_t damage; // 0x1218 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float duration; // 0x11ec float damage_delay; // 0x11f0 int32_t m_nShrapnelPct; // 0x11f4 bool m_bExploded; // 0x11f8 }; // Alignment: 0 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: float m_fAccumulatedDamage; // 0x11e8 int32_t shrapnel_damage; // 0x11ec int32_t slow_movement_speed; // 0x11f0 int32_t miss_chance; // 0x11f4 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff { public: int32_t value; // 0x11e8 float value2; // 0x11ec int32_t m_nAttackSpeedBonus; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1238 class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff { public: int32_t proc_chance; // 0x11e8 float slow_duration; // 0x11ec int32_t damage; // 0x11f0 int32_t knockback_distance; // 0x11f4 GameTime_t m_fLastStunProcTime; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< int16 > m_vHeadshotRecords; // 0x1200 CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1218 int32_t m_nCritPct; // 0x1230 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t slow_vs_considered_hero; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 int32_t active_attack_range_multiplier; // 0x11ec }; // Alignment: 5 // Size: 0x1218 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t m_nAttackSpeedPerAttack; // 0x11ec int32_t m_nShrapnelPct; // 0x11f0 bool m_bNoCollision; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff { public: int32_t value2; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff { public: int32_t value2; // 0x11e8 int32_t value3; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff { public: bool m_bHasBeenMagnetized; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff { public: bool m_bInterrupted; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t m_nProjectileID; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence { public: // No members available }; // Alignment: 10 // Size: 0x1238 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t rock_damage; // 0x11ec float pull_units_per_second; // 0x11f0 float pull_units_per_second_heroes; // 0x11f4 float total_pull_distance; // 0x11f8 float duration; // 0x11fc bool m_bUsedStone; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: Vector m_vDestination; // 0x1204 Vector m_vLocation; // 0x1210 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1220 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 bool m_bHasBeenMagnetized; // 0x11ec }; // Alignment: 10 // Size: 0x1228 class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff { public: int32_t rock_search_radius; // 0x11e8 int32_t damage_per_second; // 0x11ec float damage_interval; // 0x11f0 float rock_explosion_delay; // 0x11f4 float damage_duration; // 0x11f8 int32_t cast_radius; // 0x11fc int32_t rock_explosion_radius; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1208 float duration; // 0x1220 bool m_bShowOverhead; // 0x1224 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff { public: float cooldown_reduction_per_hit; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: int32_t move_speed_bonus; // 0x11e8 int32_t attack_speed_bonus; // 0x11ec float damage_interval; // 0x11f0 int32_t attack_damage_pct; // 0x11f4 int32_t death_heal; // 0x11f8 bool bIsAllied; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 float hp_regen; // 0x11ec int32_t bonus_str; // 0x11f0 int32_t damage_increase_outgoing_pct; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff { public: int32_t hp_regen; // 0x11e8 int32_t magic_resistance; // 0x11ec int32_t purification_trigger_chance; // 0x11f0 float purification_trigger_cooldown; // 0x11f4 GameTime_t m_fLastProc; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff { public: int32_t damage_threshold; // 0x11e8 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t remaining_bounces; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: int32_t heal; // 0x11e8 float mana_per_second; // 0x11ec float heal_interval; // 0x11f0 int32_t lifesteal_percent; // 0x11f4 int32_t spell_lifesteal_pct; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff { public: int32_t m_iStartHealth; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t bonus_damage_threshold; // 0x11f0 int32_t max_bonus_damage; // 0x11f4 int32_t ticks; // 0x11f8 int32_t iCurrentTick; // 0x11fc }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t m_iBounceRadius; // 0x11ec bool m_bFirstAttack; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t m_iBounces; // 0x11f4 ParticleIndex_t m_nStaffParticle; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff { public: int32_t cask_chance; // 0x11e8 int32_t cask_cooldown; // 0x11ec GameTime_t flLastProcTime; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff { public: int32_t damage_modifier; // 0x11e8 int32_t split_shot_bonus_range; // 0x11ec int32_t split_shot_count; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: int32_t damage_threshold; // 0x11e8 int32_t max_damage_absorb; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: bool launched_attack; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 bool launched_attack; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: CHandle< C_BaseEntity > m_hTarget; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 float attack_spill_range; // 0x11ec int32_t attack_spill_width; // 0x11f0 int32_t attack_spill_pct; // 0x11f4 int32_t attack_spill_penalty; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff { public: int32_t trap_radius; // 0x11e8 float trap_delay_time; // 0x11ec float slow_duration; // 0x11f0 int32_t max_pulses; // 0x11f4 int32_t iCurrentPulse; // 0x11f8 CHandle< C_BaseEntity > m_hImage; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: int32_t movement_speed_slow; // 0x11e8 int32_t trap_damage; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t damage_absorb; // 0x11ec float m_flDamageAbsorbed; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float total_damage; // 0x11ec int32_t total_pulses; // 0x11f0 int32_t heal_pct; // 0x11f4 float pulse_interval; // 0x11f8 bool bIsBaseAbility; // 0x11fc }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x11e8 int32_t pounce_distance; // 0x1200 int32_t pounce_distance_default; // 0x1204 float pounce_speed; // 0x1208 float pounce_acceleration; // 0x120c int32_t pounce_radius; // 0x1210 int32_t pounce_damage; // 0x1214 float leash_duration; // 0x1218 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff { public: int32_t leash_radius; // 0x11e8 Vector vLeashLocation; // 0x11ec bool m_bEscaped; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: float pounce_damage_multiplier; // 0x11fc int32_t pounce_damage; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff { public: int32_t max_stacks; // 0x11e8 int32_t passive_agility; // 0x11ec GameTime_t flLastProcTime; // 0x11f0 float debuff_duration; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff { public: int32_t agi_gain; // 0x11e8 int32_t iPrimaryAttribute; // 0x11ec float model_scale; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff { public: int32_t reduction; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff { public: int32_t scepter_aoe; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_regen_pct; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc GameTime_t flLastPulseTime; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff { public: bool m_bScepter; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff { public: int32_t attack_speed_bonus; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff { public: Vector m_vPullLocation; // 0x11e8 float pull_speed; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: int32_t duration_damage; // 0x11e8 int32_t duration_heal; // 0x11ec int32_t movement_slow; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CountdownTimer m_SlowInterval; // 0x11f8 float m_flSlowStep; // 0x1210 float m_flSlowStepStep; // 0x1214 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 int32_t m_nRadius; // 0x11f4 ParticleIndex_t m_nTrailFX; // 0x11f8 float linger_duration; // 0x11fc float flDamage; // 0x1200 float damage_pct; // 0x1204 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff { public: float flDamage; // 0x11e8 float burn_interval; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff { public: int32_t spell_amp; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff { public: Vector m_vPos; // 0x11e8 int32_t radius; // 0x11f4 float damage; // 0x11f8 float explosion_interval; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff { public: int32_t crit_multiplier; // 0x11e8 float air_time; // 0x11ec float slow_duration; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x1200 bool m_bWalrusPunch; // 0x1204 bool m_bPunchKill; // 0x1205 private: [[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 float slow_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float health_threshold_pct; // 0x11ec float duration; // 0x11f0 CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 CHandle< C_BaseEntity > m_hChaseUnit; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff { public: int32_t tombstone_health; // 0x11e8 int32_t bonus_health; // 0x11ec }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float zombie_interval; // 0x11ec int32_t spawn_at_parent; // 0x11f0 int32_t remove_on_death; // 0x11f4 float knockback_duration; // 0x11f8 int32_t knockback_distance; // 0x11fc int32_t knockback_height; // 0x1200 int32_t spawn_distance; // 0x1204 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11e8 float heal_percent_per_tick; // 0x11ec int32_t tombstone_grab_radius; // 0x11f0 ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff { public: float m_fStrengthStolen; // 0x11e8 float model_scale_per_strength; // 0x11ec float model_scale_max; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 float interval; // 0x11ec int32_t extra_decays; // 0x11f0 int32_t radius; // 0x11f4 int32_t decay_strength_percent; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff { public: float str_stolen; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff { public: int32_t ward_radius; // 0x11e8 int32_t explosion_damage; // 0x11ec float taunt_interval; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff { public: float str_gain; // 0x11e8 int32_t model_scale; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 float m_flDecrementTime; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: int32_t bonus_move_speed; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff { public: int32_t bonus_move_speed_per_stack; // 0x11e8 int32_t bonus_attack_speed_per_stack; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff { public: int32_t str_percentage; // 0x11e8 int32_t movement_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff { public: int32_t damage_amp; // 0x11e8 int32_t slow; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t damage; // 0x11ec float tick_rate; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff { public: float burn_interval; // 0x11e8 float burn_damage; // 0x11ec int32_t mana_restore; // 0x11f0 }; // Alignment: 11 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 int32_t m_iDamage; // 0x1200 float m_flStunDuration; // 0x1204 int32_t light_strike_array_damage; // 0x1208 float light_strike_array_stun_duration; // 0x120c float light_strike_array_delay; // 0x1210 int32_t m_nLSARadius; // 0x1214 int32_t m_nCount; // 0x1218 int32_t max_count; // 0x121c int32_t iPower; // 0x1220 float pulse_interval; // 0x1224 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff { public: float pull_speed; // 0x11e8 Vector vPullLocation; // 0x11ec }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff { public: int32_t attack_range_per_stack; // 0x11e8 bool m_bShouldReset; // 0x11ec bool m_bIsActive; // 0x11ed private: [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: int32_t fiery_soul_attack_speed_bonus; // 0x11f0 float fiery_soul_move_speed_bonus; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff { public: int32_t fiery_soul_attack_speed_bonus; // 0x11e8 float fiery_soul_move_speed_bonus; // 0x11ec int32_t fiery_soul_max_stacks; // 0x11f0 float fiery_soul_stack_duration; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 GameTime_t m_flFierySoulDieTime; // 0x11fc }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff { public: Vector vStart; // 0x11e8 Vector vEnd; // 0x11f4 float damage_delay; // 0x1200 CHandle< C_BaseEntity > m_hMainTarget; // 0x1204 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff { public: int32_t damage_modifier; // 0x11e8 int32_t split_shot_bonus_range; // 0x11ec int32_t arrow_count; // 0x11f0 }; // Alignment: 7 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff { public: int32_t stack_limit; // 0x11e8 float stack_interval; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x11f0 ParticleIndex_t m_nFxIndexB; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1210 int32_t bounces_remaining; // 0x1228 int32_t iCur_stack; // 0x122c }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff { public: int32_t bounces_remaining; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff { public: float attack_damage; // 0x11e8 int32_t damage_penalty; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff { public: float m_flPushDistance; // 0x11e8 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff { public: int32_t blade_fury_radius; // 0x11e8 int32_t blade_fury_damage; // 0x11ec float blade_fury_damage_tick; // 0x11f0 int32_t movement_bonus; // 0x11f4 int32_t spark_radius; // 0x11f8 int32_t spark_damage_percent; // 0x11fc bool m_bDestroyParentThinkerOnDeath; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff { public: int32_t blade_fury_radius; // 0x11e8 int32_t pull_speed; // 0x11ec int32_t pull_stop; // 0x11f0 Vector pull_origin; // 0x11f4 GameTime_t m_flLastThinkTime; // 0x1200 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff { public: int32_t healing_ward_aura_radius; // 0x11e8 float healing_ward_heal_amount; // 0x11ec float healing_ward_interval; // 0x11f0 int32_t m_nTotalHealing; // 0x11f4 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff { public: int32_t healing_ward_aura_radius; // 0x11e8 int32_t trigger_radius; // 0x11ec int32_t search_radius; // 0x11f0 int32_t damage_percent; // 0x11f4 int32_t movement_bonus; // 0x11f8 int32_t power; // 0x11fc }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff { public: int32_t healing_ward_aura_radius; // 0x11e8 float healing_ward_heal_amount; // 0x11ec float healing_ward_interval; // 0x11f0 int32_t m_nTotalRegen; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff { public: int32_t armor_bonus; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff { public: int32_t blade_dance_crit_mult; // 0x11e8 int32_t blade_dance_crit_chance; // 0x11ec bool m_bDidBladeDanceCrit; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff { public: int32_t evasion_per_stack; // 0x11e8 int32_t movespeed_per_stack; // 0x11ec int32_t evasion_bonus; // 0x11f0 int32_t movespeed_bonus; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff { public: int32_t range; // 0x11e8 float bonus_attack_duration; // 0x11ec int32_t bonus_attack_count; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 float m_fBonusRange; // 0x11f8 }; // Alignment: 16 // Size: 0x1240 class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 CHandle< C_BaseEntity > m_hLastTarget; // 0x11ec int32_t m_nJumps; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t bonus_attack_speed; // 0x11f8 int32_t omni_slash_radius; // 0x11fc float attack_rate_multiplier; // 0x1200 int32_t upgraded_radius; // 0x1204 int32_t m_iTotalDamage; // 0x1208 int32_t m_iHeroDamage; // 0x120c bool m_bReflection; // 0x1210 bool m_bFirstHit; // 0x1211 bool m_bEndNext; // 0x1212 private: [[maybe_unused]] uint8_t __pad1213[0x1]; // 0x1213 public: GameTime_t m_fNextAttackTime; // 0x1214 Vector m_vCastOrigin; // 0x1218 private: [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 public: CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x1228 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff { public: bool m_bIsDone; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: CHandle< C_BaseEntity > m_hFollowEnt; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff { public: int32_t slow_movement_speed_pct; // 0x11e8 float tick_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff { public: float interval; // 0x11e8 int32_t max_stacks; // 0x11ec int32_t damage_percent; // 0x11f0 int32_t movement_damage_percent; // 0x11f4 int32_t m_nDamage; // 0x11f8 ParticleIndex_t m_nFXStackIndex; // 0x11fc Vector m_vLastPosition; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: int32_t blind_percent; // 0x11e8 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff { public: Vector m_vTarget; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff { public: int32_t movespeed_percent; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff { public: float m_fDamagePerSecond; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff { public: CUtlVector< GameTime_t > m_AgilityTimers; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff { public: int32_t damage_percent; // 0x11e8 int32_t knockback_distance; // 0x11ec float knockback_duration; // 0x11f0 int32_t move_speed_percent; // 0x11f4 int32_t max_move_speed_percent; // 0x11f8 int32_t model_scale; // 0x11fc int32_t max_model_scale; // 0x1200 bool m_bActive; // 0x1204 }; // Alignment: 15 // Size: 0x1238 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff { public: int32_t arrow_width; // 0x11e8 float arrow_speed; // 0x11ec int32_t range; // 0x11f0 int32_t wave_count; // 0x11f4 float wave_delay; // 0x11f8 int32_t arrow_count_per_wave; // 0x11fc float arrow_delay; // 0x1200 float per_arrow_angle; // 0x1204 float m_fYawOffset; // 0x1208 int32_t m_iWaveIndex; // 0x120c int32_t m_iArrowIndex; // 0x1210 Vector m_vTarget; // 0x1214 QAngle m_vWaveAngle; // 0x1220 float m_flInterval; // 0x122c GameTime_t m_flNextThink; // 0x1230 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff { public: int32_t m_iWaveIndex; // 0x11e8 float m_fYawOffset; // 0x11ec }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff { public: int32_t aura_disable_range; // 0x11e8 int32_t aura_range; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t m_nBonusFactor; // 0x11f4 GameTime_t m_fLastEnableTime; // 0x11f8 ParticleIndex_t m_nFxIndex; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: int32_t aura_agility_multiplier; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_range; // 0x11ec int32_t attack_speed_reduction; // 0x11f0 float duration; // 0x11f4 int32_t charges; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff { public: int32_t aura_disable_range; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff { public: int32_t bonus_aspd; // 0x11e8 int32_t lifesteal; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t night_bonus_pct; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff { public: int32_t attack_speed_slow; // 0x11e8 int32_t move_speed_slow_pct; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff { public: int32_t range; // 0x11e8 int32_t bounces; // 0x11ec int32_t damage_reduction_percent; // 0x11f0 int32_t bounce_pct; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff { public: ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff { public: int32_t spell_resist_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff { public: int32_t m_nBonusDamage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 float night_multiplier; // 0x11ec }; // Alignment: 15 // Size: 0x1250 class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t radius; // 0x11ec int32_t beams; // 0x11f0 int32_t hit_count; // 0x11f4 int32_t m_iBeamDamage; // 0x11f8 float m_flBeamStun; // 0x11fc Vector vPosition; // 0x1200 bool m_bAreaTarget; // 0x120c bool m_bMoonWell; // 0x120d private: [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e public: int32_t m_iTickCount; // 0x1210 ParticleIndex_t m_nMoonlightFXIndex; // 0x1214 CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1218 CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1230 float beam_interval; // 0x1248 float m_flInterval; // 0x124c }; // Alignment: 9 // Size: 0x1220 class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff { public: int32_t leap_distance; // 0x11e8 float leap_speed; // 0x11ec float leap_acceleration; // 0x11f0 int32_t leap_radius; // 0x11f4 int32_t search_range; // 0x11f8 float damage_multiplier; // 0x11fc float m_flPowerLevelPct; // 0x1200 bool m_bLaunched; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1208 }; // Alignment: 9 // Size: 0x13f0 class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff { public: bool m_bSpiritsExplode; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t hit_radius; // 0x11ec int32_t rotate_range; // 0x11f0 int32_t glaive_movement_rate; // 0x11f4 float replenish_time; // 0x11f8 float m_flRotation; // 0x11fc float m_flGlaiveRadius; // 0x1200 GameTime_t m_flNextSpawn; // 0x1204 bool m_bPaused; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff { public: int32_t m_nMoveSpeed; // 0x11e8 int32_t m_nEvasion; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t slow_attack_speed; // 0x11ec bool is_primary_target; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: int32_t mana_drain; // 0x11e8 float m_flIntervalRate; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t mana_drain; // 0x11ec float m_flIntervalRate; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t base_damage_outgoing_percentage; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec CountdownTimer m_Timer; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t slow_attack_speed; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float interval; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t bonus_health_regen; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff { public: int32_t magic_resist_reduction; // 0x11e8 int32_t max_stacks; // 0x11ec ParticleIndex_t m_nFXStackIndex; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t model_scale; // 0x11ec int32_t damage_radius; // 0x11f0 int32_t pct_int_damage_per_second; // 0x11f4 float tick_rate; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: int32_t m_nDamageToHeroes; // 0x11e8 int32_t m_nHeroesKilled; // 0x11ec int32_t m_nJumps; // 0x11f0 CHandle< C_BaseEntity > m_hTarget; // 0x11f4 CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune { public: int32_t model_scale; // 0x11e8 }; // Alignment: 12 // Size: 0x1220 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: bool m_bIsSquall; // 0x11e8 bool m_bIsSeaLegs; // 0x11e9 private: [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea public: float m_flRadius; // 0x11ec bool m_bShowEnemies; // 0x11f0 bool m_bTorrentStorm; // 0x11f1 private: [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 public: float m_flDelay; // 0x11f4 float m_flFireTime; // 0x11f8 bool m_bForcePosition; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: Vector m_vStartPosition; // 0x1200 Vector m_vEndPosition; // 0x120c int32_t m_nPercentChanceOfGhostShip; // 0x1218 CHandle< C_BaseEntity > m_hTarget; // 0x121c }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff { public: float flIntervalThinkTime; // 0x11e8 int32_t torrent_damage; // 0x11ec float m_flDamageScale; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff { public: int32_t movespeed_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff { public: int32_t movespeed_bonus; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff { public: int32_t torrent_min_distance; // 0x11e8 int32_t torrent_max_distance; // 0x11ec int32_t m_iExplosionQuadrant; // 0x11f0 Vector m_vPosition; // 0x11f4 }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff { public: bool m_bTidebringerAttack; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t cleave_starting_width; // 0x11ec int32_t cleave_ending_width; // 0x11f0 int32_t cleave_distance; // 0x11f4 int32_t damage_bonus; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc int32_t cleave_damage; // 0x1200 bool m_bIgnoreCooldown; // 0x1204 bool m_bDreadPirate; // 0x1205 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff { public: int32_t m_nSpeedBonusPercentage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: float armour_increase; // 0x11e8 float speed_increase_pct; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff { public: Vector m_vLastPosition; // 0x11e8 CHandle< C_BaseEntity > m_hEntity; // 0x11f4 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: Vector m_vStartLoc; // 0x11e8 bool m_bIsReflection; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CHandle< C_BaseEntity > m_hEntity; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff { public: CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff { public: float m_flDistance; // 0x11e8 float m_flSpeed; // 0x11ec int32_t m_nNumCannons; // 0x11f0 float m_flProjectileRadius; // 0x11f4 bool m_bGhostShipIsEntity; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: int32_t m_hGhostShipProjectile; // 0x11fc CHandle< C_BaseEntity > m_hGhostShip; // 0x1200 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: Vector vCasterOrigin; // 0x11e8 Vector vEnd; // 0x11f4 int32_t m_nHitCount; // 0x1200 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: int32_t m_iAccumulatedDamage; // 0x11e8 int32_t movespeed_bonus; // 0x11ec float ghostship_absorb; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: int32_t m_iAccumulatedDamage; // 0x11e8 float m_flDuration; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff { public: int32_t m_iAccumulatedDamage; // 0x11e8 float m_flDuration; // 0x11ec float m_flMovespeedBonus; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff { public: float m_flRadius; // 0x11e8 }; // Alignment: 19 // Size: 0x1290 class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune { public: float tick_interval; // 0x11e8 float forward_move_speed; // 0x11ec float turn_rate_boosted; // 0x11f0 float turn_rate; // 0x11f4 int32_t hit_radius; // 0x11f8 int32_t knockback_radius; // 0x11fc bool m_bHitFirstUpdate; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: GameTime_t m_flHitEndTime; // 0x1204 float hit_recover_time; // 0x1208 float m_flTurnBoostProgress; // 0x120c float m_flFacingTarget; // 0x1210 GameTime_t m_flLastHeroAttackTime; // 0x1214 ParticleIndex_t m_nFXIndex; // 0x1218 float m_flGyroshellDurationRemaining; // 0x121c CUtlVector< float32 > m_flTurnHistory; // 0x1220 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1238 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1250 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1268 Vector m_vDirection; // 0x1280 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff { public: int32_t m_nStackCount; // 0x11e8 }; // Alignment: 12 // Size: 0x1250 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: bool m_bActivated; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: Vector m_vFacingDir; // 0x11ec CUtlVector< Vector > m_vecWatchPositions; // 0x11f8 ParticleIndex_t m_nBeamFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< int32 > m_nViewerIDs; // 0x1218 int32_t remnant_watch_distance; // 0x1230 int32_t remnant_watch_radius; // 0x1234 float duration; // 0x1238 int32_t watch_path_vision_radius; // 0x123c int32_t impact_damage; // 0x1240 float pull_duration; // 0x1244 float activation_delay; // 0x1248 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 PlayerID_t m_nPlayerID; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 Vector m_vFacingDir; // 0x11ec CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 bool m_bTriggered; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_flCurThink; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: int32_t m_nRadius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: ParticleIndex_t m_nFXStackIndex; // 0x11e8 float m_fVoidMarkPct; // 0x11ec int32_t movement_slow_pct; // 0x11f0 int32_t pop_damage; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff { public: int32_t damage_radius; // 0x11e8 float debuff_duration; // 0x11ec int32_t destination_fx_radius; // 0x11f0 int32_t damage; // 0x11f4 Vector m_vExitPos; // 0x11f8 }; // Alignment: 20 // Size: 0x1290 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: Vector m_vFirstPortalPos; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< Vector > m_vecDestinations; // 0x11f8 CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 int32_t m_nCurrentDestinationIndex; // 0x1240 int32_t m_nClosestIndexPosToClick; // 0x1244 int32_t m_nPortalHeightOffset; // 0x1248 private: [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c public: char* m_szAlliesPortalFX; // 0x1250 char* m_szEnemiesPortalFX; // 0x1258 int32_t m_nPortalRadius; // 0x1260 int32_t m_nPortalPadding; // 0x1264 int32_t m_nFinalImpactDamageRadius; // 0x1268 int32_t m_nFinalImpactFXRadius; // 0x126c int32_t destination_fx_radius; // 0x1270 int32_t damage_radius; // 0x1274 int32_t portals_per_ring; // 0x1278 int32_t angle_per_ring_portal; // 0x127c int32_t first_ring_distance_offset; // 0x1280 float debuff_duration; // 0x1284 int32_t damage; // 0x1288 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: int32_t base_absorb_amount; // 0x11e8 int32_t m_nAbsorbRemaining; // 0x11ec }; // Alignment: 9 // Size: 0x1238 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x11f8 CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x1210 int32_t speed; // 0x1228 int32_t radius; // 0x122c int32_t damage; // 0x1230 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff { public: int32_t m_nCritPercent; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff { public: int32_t move_slow_pct; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff { public: int32_t m_nDamageRadius; // 0x11e8 float m_fDissimilateDamage; // 0x11ec float m_fThinkInterval; // 0x11f0 float m_fDissimilateDamagePctPerInterval; // 0x11f4 float m_fLingerDuration; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff { public: float m_fDamagePerInterval; // 0x11e8 int32_t m_nBonusIncomingMagicDamage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff { public: int32_t m_nSpellAmp; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff { public: float m_fSpellAmp; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff { public: float m_fVacuumSpeed; // 0x11e8 float m_fStunDuration; // 0x11ec Vector m_vPullLoc; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff { public: float m_fThinkInterval; // 0x11e8 float m_fPopDamagePctPerInterval; // 0x11ec float m_fLingerDuration; // 0x11f0 int32_t radius; // 0x11f4 int32_t pop_damage; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff { public: float m_fDamagePerInterval; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff { public: float m_fDamagePerInterval; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: int32_t rocket_damage; // 0x11e8 int32_t m_nPower; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff { public: int32_t grab_radius; // 0x11e8 CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11ec }; // Alignment: 14 // Size: 0x1240 class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nFXIndex2; // 0x11ec int32_t acceleration; // 0x11f0 float pre_flight_time; // 0x11f4 float stun_duration; // 0x11f8 int32_t m_nMissileDamage; // 0x11fc int32_t damage; // 0x1200 int32_t m_nTeamNumber; // 0x1204 private: [[maybe_unused]] uint8_t __pad1208[0x8]; // 0x1208 public: float speed; // 0x1210 float m_flFacingTarget; // 0x1214 int32_t movement_turn_rate; // 0x1218 int32_t m_nPower; // 0x121c CHandle< C_BaseEntity > m_hAttachTarget; // 0x1220 private: [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 public: CountdownTimer m_MoveTime; // 0x1228 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: int32_t max_attacks; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t m_iNumAttacks; // 0x11f0 int32_t projectile_speed; // 0x11f4 int32_t radius; // 0x11f8 int32_t max_targets; // 0x11fc bool m_bFirstStrike; // 0x1200 bool m_bShouldFireMissiles; // 0x1201 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t scepter_radius; // 0x11ec }; // Alignment: 12 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff { public: int32_t slow_duration_first; // 0x11e8 int32_t slow_duration_second; // 0x11ec int32_t damage_first; // 0x11f0 int32_t damage_second; // 0x11f4 float power; // 0x11f8 int32_t radius; // 0x11fc float slow_first; // 0x1200 float slow_second; // 0x1204 bool m_bDelayed; // 0x1208 bool m_bHalfDamage; // 0x1209 bool m_bFirstStrike; // 0x120a private: [[maybe_unused]] uint8_t __pad120b[0x1]; // 0x120b public: CHandle< C_BaseEntity > m_hInflictorAbility; // 0x120c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff { public: int32_t strike_chance; // 0x11e8 float duration; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff { public: int32_t hit_radius; // 0x11e8 float timeout_duration; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 int32_t path_radius; // 0x11f4 float linger_duration; // 0x11f8 float flDamage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff { public: float flDamage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 int32_t attackspeed; // 0x11ec }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float proximity_threshold; // 0x11ec float damage; // 0x11f0 float activation_delay; // 0x11f4 bool bActivated; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 public: CountdownTimer m_Timer; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: float pulse_interval; // 0x11e8 int32_t iEffectRadius; // 0x11ec int32_t base_damage; // 0x11f0 int32_t base_heal; // 0x11f4 int32_t scepter_heal; // 0x11f8 CHandle< C_BaseEntity > m_hFollowTarget; // 0x11fc CHandle< C_BaseEntity > m_hInflictor; // 0x1200 GameTime_t m_flNextPulseTime; // 0x1204 ParticleIndex_t m_nThinkerFXIndex; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: ParticleIndex_t m_nCasterFXIndex; // 0x11e8 ParticleIndex_t m_nStatusFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t attack_count; // 0x11ec bool m_bShouldIncrement; // 0x11f0 }; // Alignment: 14 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: bool m_bIsBuffedAttack; // 0x11e8 bool m_bSunSentinel; // 0x11e9 private: [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea public: int32_t heal_pct; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t heal_radius; // 0x11f4 int32_t heal_from_creeps; // 0x11f8 int32_t allied_healing_pct; // 0x11fc int32_t m_nSmashDamage; // 0x1200 int32_t m_nCounterOrbitalChance; // 0x1204 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x1208 float m_flTotalToHeal; // 0x1220 bool m_bCounterOrbitalProcessed; // 0x1224 bool m_bIsCounterOrbitalSmash; // 0x1225 bool m_bBrightFoundryProcessed; // 0x1226 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: int32_t flare_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec CHandle< C_BaseEntity > m_hInflictor; // 0x11f0 }; // Alignment: 11 // Size: 0x1230 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 int32_t projectile_speed; // 0x11ec int32_t travel_speed_pct; // 0x11f0 int32_t m_nMaxRange; // 0x11f4 Vector m_vStartPoint; // 0x11f8 Vector m_vLastTrailThinkerLocation; // 0x1204 Vector m_vEndPointShard; // 0x1210 ParticleIndex_t m_nStatusFXIndex; // 0x121c int32_t flare_radius; // 0x1220 bool bHasStartedBurning; // 0x1224 private: [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 public: float flare_debuff_duration; // 0x1228 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float trail_duration; // 0x11ec int32_t flare_radius; // 0x11f0 int32_t m_nProjectileHandle; // 0x11f4 CHandle< C_BaseEntity > m_hHavenThinker; // 0x11f8 }; // Alignment: 22 // Size: 0x1248 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: int32_t swipe_radius; // 0x11e8 int32_t swipe_damage; // 0x11ec int32_t smash_radius; // 0x11f0 int32_t smash_damage; // 0x11f4 int32_t m_nCurrentSpeed; // 0x11f8 float flSwipeInterval; // 0x11fc GameTime_t m_flNextHit; // 0x1200 int32_t iCurrentAttack; // 0x1204 int32_t total_attacks; // 0x1208 float smash_stun_duration; // 0x120c float sweep_stun_duration; // 0x1210 bool m_bHasCompletedMove; // 0x1214 private: [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 public: float duration; // 0x1218 Vector m_vTargetHorizontalDirection; // 0x121c int32_t smash_distance_from_hero; // 0x1228 float animation_rate; // 0x122c float turn_rate; // 0x1230 float m_flFacingTarget; // 0x1234 bool m_bSuncrusher; // 0x1238 private: [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 public: float m_flDistanceSinceStandAblazeThinker; // 0x123c float m_flDistancePerStandAblazeThinker; // 0x1240 CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1244 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: int32_t attack_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: int32_t swipe_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 int32_t burn_damage; // 0x11ec float burn_interval; // 0x11f0 CHandle< C_BaseEntity > m_hInflictor; // 0x11f4 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff { public: int32_t move_speed_pct; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t m_nBonusMovementSpeedPct; // 0x11f0 int32_t m_nBonusAttackSpeed; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 bool m_bPassive; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: float m_flCooldown; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff { public: int32_t trigger_chance; // 0x11e8 float cooldown; // 0x11ec GameTime_t m_fLastProc; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t heal_reduction; // 0x11ec int32_t cast_reduction; // 0x11f0 }; // Alignment: 12 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff { public: bool m_bSweetDreams; // 0x11e8 bool m_bConfusion; // 0x11e9 bool m_bSelfBreakAvailable; // 0x11ea bool m_bNoStatusEffect; // 0x11eb int32_t m_nSource; // 0x11ec float animation_rate; // 0x11f0 GameTime_t m_flNextNightmareDamageTime; // 0x11f4 float m_flAccumNightmareDamage; // 0x11f8 int32_t movespeed_pct; // 0x11fc int32_t attack_speed; // 0x1200 int32_t model_scale; // 0x1204 CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: int32_t m_nMoveSpeed; // 0x11e8 }; // Alignment: 9 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff { public: int32_t fiend_grip_mana_drain; // 0x11e8 int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11ec int32_t fiend_grip_damage; // 0x11f0 int32_t fiend_grip_spread_radius; // 0x11f4 float fiend_grip_tick_interval; // 0x11f8 GameTime_t m_flLastSpreadTime; // 0x11fc bool m_bThinkerSource; // 0x1200 bool m_bRequiresChanneling; // 0x1201 bool m_bPrimaryGrip; // 0x1202 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: int32_t fiend_grip_mana_drain; // 0x11e8 float fiend_grip_tick_interval; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff { public: int32_t latch_range; // 0x11e8 }; // Alignment: 5 // Size: 0x1240 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback { public: int32_t radius; // 0x1218 int32_t heal_pct; // 0x121c float slow_duration; // 0x1220 int32_t m_nBrainSapDamage; // 0x1224 CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x1228 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff { public: int32_t movement_slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible { public: int32_t invis_movement_speed; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff { public: int32_t invis_brain_sap_crit_pct; // 0x11e8 int32_t m_nCritPct; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff { public: // No members available }; // Alignment: 21 // Size: 0x1268 class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff { public: float hp_cost_pct; // 0x11e8 int32_t beam_range; // 0x11ec int32_t base_damage; // 0x11f0 int32_t base_heal; // 0x11f4 float tick_interval; // 0x11f8 float forward_move_speed; // 0x11fc float turn_rate_initial; // 0x1200 float turn_rate; // 0x1204 int32_t radius; // 0x1208 float m_flCurrentTime; // 0x120c float m_flAccumulatedSelfDamage; // 0x1210 bool m_bMovingForward; // 0x1214 bool m_bTurningFast; // 0x1215 private: [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 public: float m_flFacingTarget; // 0x1218 float hp_perc_heal; // 0x121c ParticleIndex_t m_nBeamFXIndex; // 0x1220 CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1224 CHandle< C_BaseEntity > m_hBeamEnd; // 0x1244 bool m_bCreatedVisionThinkers; // 0x1248 private: [[maybe_unused]] uint8_t __pad1249[0x3]; // 0x1249 public: CHandle< C_BaseEntity > m_hBeamEndSound; // 0x124c CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1250 }; // Alignment: 13 // Size: 0x1258 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff { public: Vector m_vSource; // 0x11e8 Vector m_vTarget; // 0x11f4 Vector m_vDirection; // 0x1200 QAngle m_angDirection; // 0x120c float m_flCurrentTime; // 0x1218 int32_t dash_length; // 0x121c int32_t dash_width; // 0x1220 int32_t hit_radius; // 0x1224 float burn_duration; // 0x1228 float dive_duration; // 0x122c int32_t damage_per_second; // 0x1230 private: [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 public: CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1238 bool m_bSavedAlly; // 0x1250 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: float burn_tick_interval; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t slow_movement_speed_pct; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t spirit_count; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: float tick_interval; // 0x11e8 int32_t attackspeed_slow; // 0x11ec int32_t damage_per_second; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float stun_duration; // 0x11ec int32_t attacks_to_kill; // 0x11f0 int32_t captain_attack_value; // 0x11f4 int32_t boss_attack_value; // 0x11f8 CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11fc bool m_bHasExpelCoreShard; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: int32_t m_nAttackCount; // 0x1204 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float stun_duration; // 0x11ec int32_t attacks_to_kill; // 0x11f0 int32_t captain_attack_value; // 0x11f4 int32_t boss_attack_value; // 0x11f8 int32_t m_nAttackCount; // 0x11fc int32_t m_nRadius; // 0x1200 float m_fSecondSunRadiusPct; // 0x1204 }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff { public: int32_t damage_per_sec; // 0x11e8 float damage_interval; // 0x11ec int32_t aura_radius; // 0x11f0 float m_fRadius; // 0x11f4 float m_fSecondSunRadiusPct; // 0x11f8 GameTime_t m_fNextDamageTime; // 0x11fc GameTime_t m_fLastThinkTime; // 0x1200 bool m_bHasHorizonAbility; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: int32_t m_nHorizonPushDistance; // 0x1208 float m_fHorizonPushInterval; // 0x120c GameTime_t m_fNextHorizonPushTime; // 0x1210 ParticleIndex_t m_nHorizonFX; // 0x1214 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hSaviorEnt; // 0x11e8 float ally_position_offset; // 0x11ec }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility { public: float duration; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff { public: float unit_position_offset; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff { public: CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 bool m_bCleanupWhenEmpty; // 0x1200 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff { public: float radius_pct_as_length; // 0x11e8 int32_t width; // 0x11ec float linger_duration; // 0x11f0 float m_fLength; // 0x11f4 ParticleIndex_t m_nBeamFXIndex; // 0x11f8 CHandle< C_BaseEntity > m_hBeamEnd; // 0x11fc GameTime_t m_flLastHit; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1208 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff { public: float m_fDamagePerSecond; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec ParticleIndex_t m_nActiveFXIndex; // 0x11f0 ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f4 float flame_revenant_damage_pct; // 0x11f8 float think_interval; // 0x11fc int32_t move_slow_pct; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff { public: int32_t move_slow_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff { public: float pct_of_heal_as_attack_speed; // 0x11e8 float m_fAttackSpeedBonus; // 0x11ec }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff { public: int32_t m_nCasterTeam; // 0x11e8 int32_t damage_per_tick_min; // 0x11ec int32_t damage_per_tick_max; // 0x11f0 int32_t search_radius; // 0x11f4 int32_t move_speed_slow_pct; // 0x11f8 float think_interval; // 0x11fc float m_fCurrentDamage; // 0x1200 float m_fDamageIncreasePerTick; // 0x1204 int32_t m_nCurrentSlow; // 0x1208 bool m_bAlone; // 0x120c private: [[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d public: ParticleIndex_t m_nFXIndex; // 0x1210 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t radius; // 0x11f0 float explosion_delay_time; // 0x11f4 float explosion_stun_duration; // 0x11f8 int32_t explosion_damage; // 0x11fc int32_t caster_team; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t explosion_damage; // 0x11ec float explosion_stun_duration; // 0x11f0 float explosion_delay_time; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff { public: int32_t evasion_chance; // 0x11e8 int32_t radius; // 0x11ec float aura_origin_x; // 0x11f0 float aura_origin_y; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff { public: int32_t attack_speed_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff { public: int32_t move_speed_slow_pct; // 0x11e8 }; // Alignment: 18 // Size: 0x1240 class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t wraith_vision_radius; // 0x11ec int32_t wraith_speed; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 public: float activation_delay; // 0x11fc float scepter_activation_delay; // 0x1200 float think_interval; // 0x1204 float search_timer_min; // 0x1208 float search_timer_max; // 0x120c float mini_stun_duration; // 0x1210 int32_t move_speed_slow_pct; // 0x1214 int32_t m_nSparkDamage; // 0x1218 bool m_bActive; // 0x121c bool m_bOriginal; // 0x121d private: [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e public: float m_fSearchTimer; // 0x1220 float m_fRotationSpeed; // 0x1224 int32_t m_nRotationDirection; // 0x1228 Vector m_vRotationCenter; // 0x122c ParticleIndex_t m_nFXIndex; // 0x1238 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff { public: int32_t damage_increase; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff { public: int32_t num_doubles; // 0x11e8 }; // Alignment: 12 // Size: 0x1248 class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 bool m_bWindingUp; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CountdownTimer m_ViewerTimer; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 int32_t speed; // 0x1230 int32_t radius; // 0x1234 float knockback_distance; // 0x1238 float knockback_duration; // 0x123c float windup_time; // 0x1240 }; // Alignment: 15 // Size: 0x1268 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nFXIndex2; // 0x11ec int32_t hero_damage; // 0x11f0 int32_t acceleration; // 0x11f4 int32_t min_damage; // 0x11f8 int32_t max_distance; // 0x11fc float pre_flight_time; // 0x1200 float stun_duration; // 0x1204 int32_t m_nMissileDamage; // 0x1208 int32_t m_nTeamNumber; // 0x120c private: [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 public: float speed; // 0x1218 CHandle< C_BaseEntity > m_hAttachTarget; // 0x121c Vector m_vStartPosition; // 0x1220 private: [[maybe_unused]] uint8_t __pad122c[0x4]; // 0x122c public: CountdownTimer m_EnemyVision; // 0x1230 CountdownTimer m_MoveTime; // 0x1248 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff { public: Vector m_vStartPos; // 0x11e8 Vector m_vEndPos; // 0x11f4 GameTime_t m_flEndTime; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff { public: int32_t landing_move_slow_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 int32_t totem_damage_percentage; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff { public: int32_t effect_radius; // 0x11e8 float rock_duration; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff { public: int32_t rock_health; // 0x11e8 int32_t rock_visualzdelta; // 0x11ec bool m_bIsCrushing; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t summon_count; // 0x11f4 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hRock; // 0x11e8 QAngle m_qRotation; // 0x11ec float m_flOldPitch; // 0x11f8 }; // Alignment: 8 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff { public: Vector vLastPos; // 0x11e8 float flCurrentDistance; // 0x11f4 int32_t step_distance; // 0x11f8 int32_t effect_radius; // 0x11fc int32_t base_damage; // 0x1200 CHandle< C_BaseEntity > m_hTarget; // 0x1204 CountdownTimer ctLastCommandTimer; // 0x1208 bool m_bMoveCommandIssued; // 0x1220 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float m_flOffset; // 0x11ec QAngle m_vStartAngles; // 0x11f0 float animation_rate; // 0x11fc }; // Alignment: 14 // Size: 0x1240 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff { public: CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 Vector m_vPos; // 0x11ec int32_t splash_radius; // 0x11f8 float interval; // 0x11fc float ministun; // 0x1200 int32_t m_nCurrentHitCount; // 0x1204 int32_t total_ripple_circles; // 0x1208 int32_t ripple_step_distance; // 0x120c int32_t ripple_step_distance_offset; // 0x1210 float health_damage; // 0x1214 float ripple_duration; // 0x1218 int32_t ripple_damage; // 0x121c CUtlVector< int32 > m_vLastRippleOffsets; // 0x1220 float self_animation_rate; // 0x1238 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff { public: int32_t ripple_effect_width; // 0x11e8 int32_t ripple_damage; // 0x11ec int32_t health_damage; // 0x11f0 int32_t ripple_count; // 0x11f4 int32_t total_ripple_circles; // 0x11f8 float radius; // 0x11fc float ripple_slow_duration; // 0x1200 float ripple_knockback_duration; // 0x1204 CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x1208 ParticleIndex_t m_nPreviewFXIndex; // 0x120c }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff { public: int32_t damage_limit; // 0x11e8 ParticleIndex_t m_nFxIndex; // 0x11ec float m_fTotalDamage; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff { public: ParticleIndex_t m_nPreviewFXIndex; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff { public: float charge_duration; // 0x11e8 float max_charge_time; // 0x11ec float turn_rate; // 0x11f0 float base_power; // 0x11f4 int32_t charge_speed; // 0x11f8 float animation_rate; // 0x11fc }; // Alignment: 9 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff { public: float charge_speed; // 0x11e8 int32_t knockback_radius; // 0x11ec int32_t knockback_distance; // 0x11f0 int32_t knockback_damage; // 0x11f4 int32_t forward_offset; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x11fc float m_flFacingTarget; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1204 CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff { public: float debuff_duration; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff { public: int32_t heal_suppression_pct; // 0x11e8 int32_t armor_reduction_pct; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff { public: float vault_speed; // 0x11e8 float vault_acceleration; // 0x11ec int32_t vault_radius; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff { public: int32_t rock_drop_intervals; // 0x11e8 int32_t rock_drop_per_interval; // 0x11ec int32_t rock_drop_distance; // 0x11f0 int32_t m_nCurrentInterval; // 0x11f4 int32_t rock_drop_rotation_angle; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff { public: bool bCanbeMotionControlled; // 0x11e8 }; // Alignment: 22 // Size: 0x1280 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff { public: int32_t projectile_speed; // 0x11e8 int32_t projectile_speed_increment; // 0x11ec int32_t projectile_distance; // 0x11f0 int32_t projectile_width; // 0x11f4 int32_t projectiles_per_interval; // 0x11f8 int32_t projectiles_per_interval_increment; // 0x11fc int32_t initial_spread_angle; // 0x1200 int32_t angle_offset; // 0x1204 int32_t iCurrentInterval; // 0x1208 int32_t splinter_angle; // 0x120c CountdownTimer m_LeftHandSmashTimer; // 0x1210 CountdownTimer m_RightHandSmashTimer; // 0x1228 CountdownTimer m_AttackIntervalTimer; // 0x1240 float initial_interval; // 0x1258 float interval_reduction; // 0x125c float min_interval; // 0x1260 int32_t arm_distance_forward; // 0x1264 int32_t arm_distance_side; // 0x1268 int32_t splash_radius; // 0x126c int32_t max_split_amount; // 0x1270 int32_t m_nCurrentCastCount; // 0x1274 int32_t max_projectiles; // 0x1278 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed_pct; // 0x11e8 int32_t slow_attack_speed_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff { public: Vector m_vVelocity; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff { public: float tick_damage; // 0x11e8 int32_t damage_ticks; // 0x11ec int32_t m_nTickAmount; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff { public: int32_t caustic_finale_radius; // 0x11e8 int32_t caustic_finale_damage_death; // 0x11ec int32_t caustic_finale_damage_dot; // 0x11f0 int32_t caustic_finale_slow; // 0x11f4 float caustic_finale_dot_tick; // 0x11f8 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff { public: float caustic_finale_duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff { public: Vector m_vStartLocation; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff { public: Vector m_vPopupLocation; // 0x11e8 bool m_bTeleported; // 0x11f4 }; // Alignment: 10 // Size: 0x1220 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff { public: float sand_storm_radius; // 0x11e8 int32_t sand_storm_damage; // 0x11ec float damage_tick_rate; // 0x11f0 GameTime_t m_flLastDamageTime; // 0x11f4 ParticleIndex_t m_nSandStormParticleIndex1; // 0x11f8 ParticleIndex_t m_nSandStormParticleIndex2; // 0x11fc private: [[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200 public: CHandle< C_BaseEntity > m_hThinker; // 0x1208 CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x120c bool m_bIsPrimarySandstorm; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: Vector vecSpawnPos; // 0x1214 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: float sand_storm_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff { public: int32_t blind_slow_pct; // 0x11e8 }; // Alignment: 5 // Size: 0x1240 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff { public: int32_t epicenter_pulses; // 0x11e8 int32_t epicenter_radius[16]; // 0x11ec int32_t epicenter_damage; // 0x122c int32_t m_iMaxPulses; // 0x1230 int32_t m_iPulseCount; // 0x1234 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff { public: int32_t epicenter_slow; // 0x11e8 int32_t epicenter_slow_as; // 0x11ec }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff { public: Vector m_vTargetPos; // 0x11e8 ParticleIndex_t m_nCrosshairFX; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff { public: float radius; // 0x11e8 float explosion_interval; // 0x11ec int32_t explosion_radius; // 0x11f0 int32_t explosion_min_dist; // 0x11f4 float m_fLastTick; // 0x11f8 float m_fTimeAccumulator; // 0x11fc int32_t m_iExplosionCount; // 0x1200 int32_t m_iExplosionTotalCount; // 0x1204 int32_t m_iExplosionQuadrant; // 0x1208 int32_t m_iExplosionDistance; // 0x120c ParticleIndex_t m_nFXIndex; // 0x1210 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff { public: float pull_speed; // 0x11e8 Vector vPullLocation; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff { public: int32_t str_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff { public: Vector vLastPos; // 0x11e8 float m_fAccumulatedDistance; // 0x11f4 int32_t movement_distance; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t status_resistance; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: int32_t damage_pct; // 0x11e8 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff { public: Vector m_vOriginalTarget; // 0x11e8 int32_t wave_count; // 0x11f4 int32_t projectile_speed; // 0x11f8 int32_t projectile_width; // 0x11fc float m_flInterval; // 0x1200 int32_t m_nArrowsFired; // 0x1204 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 bool m_bBonusAttack; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: int32_t damage_bonus; // 0x1204 float debuff_duration; // 0x1208 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff { public: int32_t attack_slow; // 0x11e8 float m_fIgniteThinkInterval; // 0x11ec float m_fIgniteDmgPerSec; // 0x11f0 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 Vector m_vFacePosition; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff { public: float attack_rate; // 0x11e8 int32_t damage_percent; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 bool m_bHasAttacked; // 0x11f4 }; // Alignment: 3 // Size: 0x1218 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible { public: CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x11f8 int32_t move_speed_bonus_pct; // 0x1210 int32_t bonus_magic_resist; // 0x1214 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff { public: int32_t move_slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff { public: float lifetime; // 0x11e8 }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float cleave_damage_pct; // 0x11ec int32_t cleave_starting_width; // 0x11f0 int32_t cleave_ending_width; // 0x11f4 int32_t cleave_distance; // 0x11f8 int32_t block_damage_ranged_active; // 0x11fc int32_t block_damage_melee_active; // 0x1200 int32_t hp_gain_per_caster_level; // 0x1204 float hp_regen_per_caster_level; // 0x1208 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff { public: float armor_reduction_per_arrow; // 0x11e8 int32_t m_nMaxStacks; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff { public: float m_fAttackLoss; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff { public: int32_t max_stacks; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff { public: float m_fAttackSpeed; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff { public: float m_fSlowPct; // 0x11e8 float radius; // 0x11ec float think_interval; // 0x11f0 float linger_duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff { public: float m_fLifestealPct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff { public: float m_fSlowPct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 5 // Size: 0x1238 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x38]; // 0x11e8 public: int32_t model_scale; // 0x1220 float radius; // 0x1224 int32_t splitshot_count; // 0x1228 float debuff_duration; // 0x122c float pct_for_moveslow; // 0x1230 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff { public: float m_fMovementSlow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff { public: int32_t m_nInitialHealthBarOffset; // 0x11e8 int32_t colossus_model_scale; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: float m_fAddInterval; // 0x11e8 GameTime_t m_fNextAddTime; // 0x11ec GameTime_t m_flStartTime; // 0x11f0 float m_flDamageScale; // 0x11f4 float duration; // 0x11f8 float attack_logic_duration; // 0x11fc int32_t speed_boost; // 0x1200 int32_t num_adds; // 0x1204 int32_t projectile_range; // 0x1208 int32_t projectile_speed; // 0x120c int32_t projectile_width; // 0x1210 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff { public: float delay; // 0x11e8 float stun_duration; // 0x11ec int32_t stun_radius; // 0x11f0 int32_t damage; // 0x11f4 GameTime_t m_fStartTime; // 0x11f8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff { public: Vector m_vecStartPosition; // 0x11e8 int32_t m_nCurrentTick; // 0x11f4 float damage; // 0x11f8 int32_t break_distance; // 0x11fc float stun_duration; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t movement_speed_pct; // 0x11ec int32_t spell_resist_pct; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11f8 }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 int32_t spell_resist_pct; // 0x11ec int32_t drag_speed; // 0x11f0 float aura_origin_x; // 0x11f4 float aura_origin_y; // 0x11f8 int32_t shard_dps; // 0x11fc int32_t shard_attack_speed_reduction; // 0x1200 Vector m_vCenter; // 0x1204 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff { public: int32_t damage; // 0x11e8 float duration; // 0x11ec int32_t attack_range_bonus; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff { public: float dot_damage; // 0x11e8 float kill_pct; // 0x11ec CHandle< C_BaseEntity > m_hFracturingEntity; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff { public: float damage; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff { public: int32_t percent_damage_per_burn; // 0x11e8 int32_t mana_per_hit; // 0x11ec float mana_per_hit_pct; // 0x11f0 float slow_duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff { public: int32_t shard_bonus_aura_range; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff { public: int32_t shard_radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff { public: int32_t shard_spell_damage_reduction_pct; // 0x11e8 int32_t shard_bonus_spell_damage_reduction_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff { public: int32_t magic_resistance; // 0x11e8 }; // Alignment: 2 // Size: 0x13c8 class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff { public: CModifierParams m_LastParams; // 0x11e8 int32_t magic_resistance; // 0x13c0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t heal_reduction; // 0x11ec int32_t cast_reduction; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff { public: int32_t m_nSource; // 0x11e8 float animation_rate; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff { public: int32_t fiend_grip_mana_drain; // 0x11e8 float fiend_grip_tick_interval; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff { public: int32_t fiend_grip_mana_drain; // 0x11e8 float fiend_grip_tick_interval; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff { public: float order_lock_duration; // 0x11e8 GameTime_t m_fOrderLockDone; // 0x11ec int32_t m_nFXIndex; // 0x11f0 float shard_regen_pct; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff { public: int32_t rot_damage; // 0x11e8 int32_t rot_slow; // 0x11ec int32_t scepter_rot_regen_reduction_pct; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 public: GameTime_t m_flLastRotTime; // 0x11fc bool m_bQualifiesAsPotentionalDeny; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff { public: float damage_block; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff { public: float magic_resistance; // 0x11e8 float damage_block; // 0x11ec float flesh_heap_strength_buff_amount; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff { public: int32_t dismember_damage; // 0x11e8 float strength_damage; // 0x11ec int32_t m_nTicks; // 0x11f0 int32_t m_nMaxTicks; // 0x11f4 float m_flTickRate; // 0x11f8 float animation_rate; // 0x11fc }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff { public: Vector m_vDestination; // 0x11e8 int32_t pull_units_per_second; // 0x11f4 float pull_distance_limit; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc public: float animation_rate; // 0x1204 }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff { public: int32_t blade_fury_radius; // 0x11e8 int32_t blade_fury_damage; // 0x11ec float blade_fury_damage_tick; // 0x11f0 float m_flTotalAppliedDamage; // 0x11f4 int32_t shard_bonus_move_speed; // 0x11f8 float shard_attack_rate; // 0x11fc GameTime_t m_flNextAttack; // 0x1200 bool m_bIgnoreAttackRestriction; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff { public: int32_t shard_damage_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff { public: int32_t healing_ward_movespeed_tooltip; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff { public: int32_t healing_ward_heal_amount; // 0x11e8 int32_t m_nStartingHealthThisInterval; // 0x11ec }; // Alignment: 5 // Size: 0x11f8 class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff { public: int32_t blade_dance_crit_mult; // 0x11e8 int32_t blade_dance_crit_chance; // 0x11ec int32_t blade_dance_lifesteal; // 0x11f0 bool m_bHasCrit; // 0x11f4 bool m_bWasBladeDanceTriggeredCrit; // 0x11f5 }; // Alignment: 15 // Size: 0x1220 class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 CHandle< C_BaseEntity > m_hLastTarget; // 0x11ec int32_t m_nJumps; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t bonus_attack_speed; // 0x11f8 int32_t omni_slash_radius; // 0x11fc float attack_rate_multiplier; // 0x1200 bool m_bFirstHit; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: int32_t m_iTotalDamage; // 0x1208 int32_t m_iHeroDamage; // 0x120c int32_t m_iKilledHeroes; // 0x1210 GameTime_t m_fNextAttackTime; // 0x1214 bool m_bScepterCast; // 0x1218 bool m_bReflection; // 0x1219 bool m_bEndNext; // 0x121a }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff { public: int32_t blade_fury_damage; // 0x11e8 int32_t blade_dance_crit_chance; // 0x11ec int32_t blade_dance_crit_mult; // 0x11f0 float blade_fury_damage_tick; // 0x11f4 int32_t blade_fury_radius; // 0x11f8 int32_t bonus_evasion; // 0x11fc bool m_bTryToCrit; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff { public: float animation_rate; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 int32_t turn_rate_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff { public: float shadowraze_cooldown; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff { public: int32_t presence_radius; // 0x11e8 float kill_buff_duration; // 0x11ec GameTime_t m_fLastStackChange; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff { public: int32_t presence_armor_reduction; // 0x11e8 int32_t bonus_armor_per_stack; // 0x11ec bool m_bWasHidden; // 0x11f0 }; // Alignment: 9 // Size: 0x1220 class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff { public: int32_t necromastery_damage_per_soul; // 0x11e8 int32_t necromastery_max_souls; // 0x11ec int32_t necromastery_max_souls_scepter; // 0x11f0 int32_t shard_crit_pct; // 0x11f4 int32_t shard_souls_per_kill; // 0x11f8 float shard_fear_duration; // 0x11fc ParticleIndex_t m_iParticleSoulsIndex; // 0x1200 ParticleIndex_t m_FXIndex; // 0x1204 CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff { public: bool bDisableInvis; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff { public: int32_t requiem_reduction_ms; // 0x11e8 int32_t requiem_reduction_mres; // 0x11ec }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff { public: float caustic_finale_duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff { public: int32_t caustic_finale_radius; // 0x11e8 int32_t caustic_finale_damage_base; // 0x11ec int32_t caustic_finale_damage_pct; // 0x11f0 int32_t caustic_finale_slow; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff { public: Vector m_vPopupLocation; // 0x11e8 bool m_bTeleported; // 0x11f4 }; // Alignment: 10 // Size: 0x1230 class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility { public: int32_t sand_storm_radius; // 0x11f8 int32_t sand_storm_damage; // 0x11fc float damage_tick_rate; // 0x1200 GameTime_t m_flLastDamageTime; // 0x1204 ParticleIndex_t m_nSandStormParticleIndex1; // 0x1208 ParticleIndex_t m_nSandStormParticleIndex2; // 0x120c private: [[maybe_unused]] uint8_t __pad1210[0x8]; // 0x1210 public: CHandle< C_BaseEntity > m_hThinker; // 0x1218 Vector vecSpawnPos; // 0x121c int32_t m_iExplosionQuadrant; // 0x1228 int32_t m_iExplosionDistance; // 0x122c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff { public: int32_t sand_storm_radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t blind; // 0x11ec }; // Alignment: 6 // Size: 0x1248 class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff { public: int32_t epicenter_radius_base; // 0x11e8 int32_t epicenter_radius_increment; // 0x11ec int32_t epicenter_pulses; // 0x11f0 int32_t epicenter_radius[16]; // 0x11f4 int32_t m_iMaxPulses; // 0x1234 int32_t m_iPulseCount; // 0x1238 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff { public: int32_t epicenter_slow; // 0x11e8 int32_t epicenter_slow_as; // 0x11ec }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff { public: float shard_move_distance; // 0x11e8 Vector vLastPos; // 0x11ec float m_fAccumulatedDistance; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff { public: float interval_scepter; // 0x11e8 bool bInBufferTime; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: int32_t damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff { public: int32_t starfall_secondary_radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff { public: int32_t leap_distance; // 0x11e8 float shard_radius; // 0x11ec float shard_radius_end; // 0x11f0 float shard_damage; // 0x11f4 float shard_slow_pct; // 0x11f8 float shard_slow_duration; // 0x11fc float leap_speed; // 0x1200 float leap_acceleration; // 0x1204 int32_t leap_radius; // 0x1208 float leap_bonus_duration; // 0x120c bool m_bLaunched; // 0x1210 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff { public: int32_t shard_slow_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff { public: int32_t leap_speedbonus; // 0x11e8 int32_t leap_speedbonus_as; // 0x11ec bool m_bCritUsed; // 0x11f0 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility { public: float duration; // 0x11f8 int32_t bonus_movement_speed; // 0x11fc int32_t evasion; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff { public: int32_t m_nHandle; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff { public: int32_t cleave_starting_width; // 0x11e8 int32_t cleave_ending_width; // 0x11ec int32_t cleave_distance; // 0x11f0 int32_t great_cleave_damage; // 0x11f4 int32_t strength_bonus; // 0x11f8 int16_t m_nLastCleaveRecord; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe public: int32_t m_nLastCleaveKills; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff { public: int32_t shard_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff { public: int32_t shard_passive_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff { public: int32_t gods_strength_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff { public: int32_t blast_dot_damage; // 0x11e8 int32_t blast_slow; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_move_speed; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff { public: int32_t vampiric_aura; // 0x11e8 int32_t creep_lifesteal_reduction_pct; // 0x11ec float skeleton_duration; // 0x11f0 int32_t max_skeleton_charges; // 0x11f4 int32_t m_iKillCounter; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 }; // Alignment: 10 // Size: 0x1208 class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t talent_skeleton_damage; // 0x11ec bool m_bRespawnReady; // 0x11f0 bool m_bRespawnConsumed; // 0x11f1 bool m_bKillParentOnDestroy; // 0x11f2 private: [[maybe_unused]] uint8_t __pad11f3[0x1]; // 0x11f3 public: GameTime_t m_flRespawnTime; // 0x11f4 int32_t vampiric_aura; // 0x11f8 int32_t gold_bounty; // 0x11fc int32_t xp_bounty; // 0x1200 int32_t skeleton_building_damage_reduction; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff { public: float reincarnate_time; // 0x11e8 int32_t scepter_aura_radius; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 int32_t attackslow; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff { public: float scepter_duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff { public: float scepter_respawn_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff { public: int32_t overload_aoe; // 0x11e8 int32_t overload_damage; // 0x11ec int32_t shard_attack_speed_bonus; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff { public: int32_t static_remnant_radius; // 0x11e8 int32_t static_remnant_damage_radius; // 0x11ec int32_t static_remnant_damage; // 0x11f0 float static_remnant_delay; // 0x11f4 int32_t m_iSearchRadius; // 0x11f8 int32_t m_iDamageRadius; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff { public: int32_t electric_vortex_self_slow; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff { public: Vector m_vDestination; // 0x11e8 int32_t electric_vortex_pull_distance; // 0x11f4 float electric_vortex_pull_tether_range; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff { public: int32_t overload_aoe; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff { public: int32_t overload_move_slow; // 0x11e8 int32_t overload_attack_slow; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff { public: int32_t static_remnant_radius; // 0x11e8 int32_t static_remnant_damage_radius; // 0x11ec int32_t static_remnant_damage; // 0x11f0 float static_remnant_delay; // 0x11f4 float overload_duration; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff { public: float trueshot_ranged_attack_speed; // 0x11e8 }; // Alignment: 11 // Size: 0x1240 class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff { public: int32_t chance; // 0x11e8 ParticleIndex_t m_nFxIndex; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x1208 int32_t bonus_factor; // 0x1220 int32_t disable_range; // 0x1224 int32_t agility_range; // 0x1228 int32_t bonus_damage; // 0x122c int32_t split_count; // 0x1230 int32_t split_range; // 0x1234 bool m_bGlacialAttack; // 0x1238 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff { public: int32_t agility_multiplier; // 0x11e8 float agility_multiplier_ally; // 0x11ec }; // Alignment: 3 // Size: 0x1260 class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff { public: int32_t split_damage_reduction; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11f0 CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1228 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 int32_t shard_bonus_damage_per_stack; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff { public: int32_t frost_arrows_movement_speed; // 0x11e8 int32_t shard_max_stacks; // 0x11ec float shard_stack_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff { public: int32_t shard_burst_move_slow_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff { public: int32_t shard_regen_reduction_pct_per_stack; // 0x11e8 int32_t shard_burst_radius; // 0x11ec ParticleIndex_t m_nFXStackIndex; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff { public: int32_t multishot_arrow_bonus; // 0x11e8 int32_t end_height; // 0x11ec int32_t attack_range_bonus; // 0x11f0 }; // Alignment: 13 // Size: 0x1228 class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff { public: int32_t m_iArrowCount; // 0x11e8 Vector m_vOriginalTarget; // 0x11ec int32_t arrow_width; // 0x11f8 float arrow_speed; // 0x11fc float arrow_range_multiplier; // 0x1200 int32_t wave_count; // 0x1204 int32_t arrow_count_per_wave; // 0x1208 int32_t arrow_angle; // 0x120c int32_t m_iLoopCount; // 0x1210 float m_flInterval; // 0x1214 float m_flCycleDelay; // 0x1218 float m_flTimeWaste; // 0x121c GameTime_t m_flExpectedTime; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff { public: int32_t arrow_damage_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff { public: int32_t shard_width; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff { public: float z_speed_override; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff { public: uint32_t m_unOccluderID; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff { public: int32_t m_nComboCount; // 0x11e8 float m_flComboWindow; // 0x11ec float m_flComboDisplayInterval; // 0x11f0 float m_flDamageDone; // 0x11f4 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff { public: int32_t shard_aftershock_stun_duration_pct; // 0x11e8 float shard_free_pathing_linger_duration; // 0x11ec Vector m_vStartPos; // 0x11f0 Vector m_vEndPos; // 0x11fc GameTime_t m_flEndTime; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 int32_t totem_damage_percentage; // 0x11ec int32_t scepter_cleave_pct; // 0x11f0 float scepter_cleave_starting_width; // 0x11f4 float scepter_cleave_ending_width; // 0x11f8 float scepter_cleave_distance; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff { public: int32_t aftershock_range; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff { public: bool m_bFrozen; // 0x11e8 bool m_bFlail; // 0x11e9 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 int32_t damage_reduction_pct; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable { public: CHandle< C_BaseEntity > hTarget; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff { public: int32_t bonus_base_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff { public: int32_t bonus_damage_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff { public: float damage_reduction; // 0x11e8 ParticleIndex_t nFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff { public: int32_t scepter_illusion_ms_bonus_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff { public: Vector m_vPathStart; // 0x11e8 Vector m_vPathEnd; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff { public: int32_t max_ticks; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t creep_damage_per_second; // 0x11f0 float tick_interval; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff { public: float base_mana_regen; // 0x11e8 float self_factor; // 0x11ec float proximity_bonus_factor; // 0x11f0 int32_t proximity_bonus_radius; // 0x11f4 }; // Alignment: 20 // Size: 0x1258 class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage; // 0x11ec int32_t bonus_armor; // 0x11f0 float explosion_interval; // 0x11f4 float shard_bonus_explosion; // 0x11f8 int32_t explosion_radius; // 0x11fc float slow_duration; // 0x1200 int32_t explosion_min_dist; // 0x1204 int32_t explosion_max_dist; // 0x1208 float frostbite_delay; // 0x120c GameTime_t m_fLastTick; // 0x1210 float m_fTimeAccumulator; // 0x1214 int32_t m_iExplosionCount; // 0x1218 int32_t m_iExplosionTotalCount; // 0x121c int32_t m_iExplosionQuadrant; // 0x1220 int32_t m_iExplosionDistance; // 0x1224 int32_t shard_self_movement_speed_slow_pct; // 0x1228 ParticleIndex_t m_nFXIndex; // 0x122c private: [[maybe_unused]] uint8_t __pad1230[0x8]; // 0x1230 public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1238 int32_t can_move; // 0x1250 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attack_slow; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float rink_formation_time; // 0x11ec bool m_bActive; // 0x11f0 }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff { public: bool m_bHitFirstUpdate; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: float flMovementSpeed; // 0x11ec float m_flTurnBoostProgress; // 0x11f0 float m_flFacingTarget; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 GameTime_t m_flHitEndTime; // 0x11fc float hit_recover_time; // 0x1200 Vector m_vDirection; // 0x1204 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 int32_t slow; // 0x11ec int32_t scepter_armor_change; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff { public: int32_t scepter_armor_change; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 bool m_bDidSetAttackTarget; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t trigger_attacks; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff { public: int32_t shard_damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 int32_t atk_speed_bonus; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff { public: float armor_per_stack; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff { public: int32_t leap_distance; // 0x11e8 int32_t leap_radius; // 0x11ec float leap_speed; // 0x11f0 float leap_acceleration; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t spell_amp; // 0x11ec float shard_max_health_dmg_pct; // 0x11f0 float damage_pct; // 0x11f4 float flTickRate; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff { public: int32_t hero_kill_heal; // 0x11e8 int32_t creep_kill_heal; // 0x11ec int32_t half_bonus_aoe; // 0x11f0 int32_t visibility_threshold_pct; // 0x11f4 int32_t invis_threshold_pct; // 0x11f8 int32_t min_bonus_pct; // 0x11fc int32_t max_bonus_pct; // 0x1200 int32_t bonus_movement_speed; // 0x1204 float linger_duration; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x120c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff { public: int32_t invis_threshold_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff { public: CUtlSymbolLarge m_iszModifierString; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff { public: int32_t movement_damage_pct; // 0x11e8 float hp_pct; // 0x11ec Vector vLastPos; // 0x11f0 bool bResetPosition; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_fAccumulatedDamage; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff { public: GameTime_t flLastGameTime; // 0x11e8 float m_flCurrentShield; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff { public: Vector vTargetPosition; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff { public: float flDamageTaken; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff { public: PlayerID_t m_nControllingPlayer; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible { public: float invis_movespeed; // 0x11f8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff { public: int32_t max_illusions; // 0x11e8 int32_t scepter_bonus_illusions; // 0x11ec float illusion_duration; // 0x11f0 int32_t illusion_damage_out_pct; // 0x11f4 int32_t illusion_damage_in_pct; // 0x11f8 float scepter_bonus_duration; // 0x11fc int32_t m_iIllusionsSoFar; // 0x1200 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff { public: int32_t proc_chance_pct; // 0x11e8 int32_t illusion_proc_chance_pct; // 0x11ec int32_t max_illusions; // 0x11f0 float illusion_duration; // 0x11f4 int32_t illusion_damage_out_pct; // 0x11f8 int32_t illusion_damage_in_pct; // 0x11fc int32_t shard_bonus_illusions; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff { public: int32_t min_distance; // 0x11e8 int32_t max_distance; // 0x11ec CHandle< C_BaseEntity > m_hTarget; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff { public: int32_t bonus_speed; // 0x11e8 float agility_duration; // 0x11ec bool m_bGiveAgility; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: CHandle< C_BaseEntity > m_hTarget; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff { public: int32_t bonus_agility; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff { public: bool m_bstrongIllusion; // 0x11e8 }; // Alignment: 15 // Size: 0x1250 class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 bool m_bContracting; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CountdownTimer m_ViewerTimer; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 int32_t speed; // 0x1230 int32_t radius; // 0x1234 float damage_min; // 0x1238 float damage_max; // 0x123c int32_t slow_min; // 0x1240 int32_t slow_max; // 0x1244 float slow_duration; // 0x1248 bool m_bHasCreatedFx; // 0x124c }; // Alignment: 10 // Size: 0x1220 class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff { public: float flSmoothness; // 0x11e8 float drain_duration; // 0x11ec int32_t drain_rate; // 0x11f0 int32_t drain_range; // 0x11f4 int32_t drain_range_buffer; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x11fc int32_t m_iTotalDrainAmount; // 0x1200 ParticleIndex_t m_iLinkIndex; // 0x1204 CDOTA_Buff* m_pBuffPositive; // 0x1208 CDOTA_Buff* m_pNegative; // 0x1210 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t drain_rate; // 0x11ec float drain_length; // 0x11f0 int32_t attack_speed_factor; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t attack_speed_factor; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff { public: int32_t self_movement_speed_pct; // 0x11e8 int32_t shard_pct_chance; // 0x11ec int32_t shard_damage; // 0x11f0 int32_t shard_move_slow_pct; // 0x11f4 int32_t shard_search_radius; // 0x11f8 int32_t shard_target_count; // 0x11fc float shard_slow_duration; // 0x1200 float shard_internal_cd; // 0x1204 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff { public: int32_t shard_damage; // 0x11e8 float shard_slow_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff { public: int32_t shard_move_slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff { public: int32_t slow_amount; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff { public: int32_t passive_area_damage; // 0x11e8 float passive_area_interval; // 0x11ec int32_t radius; // 0x11f0 bool m_bHitNext; // 0x11f4 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t armor_reduction; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff { public: bool m_bIsMeleeAttack; // 0x11e8 bool m_bTauntQueued; // 0x11e9 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff { public: ParticleIndex_t m_nEmpoweredBodyFX; // 0x11e8 ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff { public: ParticleIndex_t m_nCasterFXIndex; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff { public: int32_t m_iDamage; // 0x11e8 float m_flStunDuration; // 0x11ec int32_t light_strike_array_aoe; // 0x11f0 int32_t light_strike_array_damage; // 0x11f4 float light_strike_array_stun_duration; // 0x11f8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff { public: int32_t fiery_soul_attack_speed_bonus; // 0x11e8 float fiery_soul_move_speed_bonus; // 0x11ec int32_t fiery_soul_max_stacks; // 0x11f0 float fiery_soul_stack_duration; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 GameTime_t m_flFierySoulDieTime; // 0x11fc }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff { public: Vector vStart; // 0x11e8 Vector vEnd; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff { public: int32_t increased_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff { public: int32_t magic_resistance; // 0x11e8 int32_t spell_amp; // 0x11ec float visualzdelta; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff { public: float tick_rate; // 0x11e8 int32_t bonus_attributes; // 0x11ec }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff { public: int32_t mana_cost; // 0x11e8 int32_t points_per_tick; // 0x11ec float morph_cooldown; // 0x11f0 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff { public: int32_t mana_cost; // 0x11e8 int32_t points_per_tick; // 0x11ec float morph_cooldown; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_status_resist; // 0x11ec int32_t nStrengthSteal; // 0x11f0 int32_t nAgiSteal; // 0x11f4 int32_t nIntSteal; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_status_resist; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_attack_speed; // 0x11ec int32_t nStrengthSteal; // 0x11f0 int32_t nAgilitySteal; // 0x11f4 int32_t nIntSteal; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_attack_speed; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_spell_amplify; // 0x11ec int32_t nStrengthSteal; // 0x11f0 int32_t nIntSteal; // 0x11f4 int32_t nAgilitySteal; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t scepter_spell_amplify; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 int32_t nStrengthSteal; // 0x11ec int32_t nAgiSteal; // 0x11f0 int32_t nIntSteal; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff { public: int32_t scepter_stat_steal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff { public: // No members available }; // Alignment: 15 // Size: 0x1278 class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x11e8 float m_flBaseAttackRange; // 0x11ec float m_flBaseMovementSpeed; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlSymbolLarge m_iszModelName; // 0x11f8 CUtlSymbolLarge m_iszProjectileName; // 0x1200 CUtlSymbolLarge m_iszOriginalModel; // 0x1208 int32_t m_nCopiedHeroID; // 0x1210 float m_fOriginalModelScale; // 0x1214 CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x1218 private: [[maybe_unused]] uint8_t __pad1230[0x30]; // 0x1230 public: float m_flOriginalStr; // 0x1260 float m_flOriginalAgi; // 0x1264 float m_flOriginalInt; // 0x1268 int32_t m_iOriginalAttackCapability; // 0x126c float m_flOriginalHealthPercentage; // 0x1270 float m_flOriginalManaPercentage; // 0x1274 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 int32_t aspd_slow; // 0x11ec int32_t cast_slow; // 0x11f0 }; // Alignment: 10 // Size: 0x1230 class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t jump_count; // 0x11ec int32_t arc_damage; // 0x11f0 float jump_delay; // 0x11f4 int32_t damage_health_pct; // 0x11f8 int32_t total_damage_pct; // 0x11fc int32_t m_iCurJumpCount; // 0x1200 bool trigger_spell_absorb; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: Vector m_vCurTargetLoc; // 0x1208 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1218 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff { public: int32_t damage; // 0x11e8 float sight_duration; // 0x11ec int32_t second_strike_damage_percent; // 0x11f0 float second_strike_delay; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff { public: CountdownTimer m_CloudBoltTimer; // 0x11e8 float cloud_bolt_interval; // 0x1200 int32_t cloud_radius; // 0x1204 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff { public: int32_t postjump_movespeed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff { public: int32_t debuff_spell_amp; // 0x11e8 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x1200 int32_t arc_lightning_damage_pct; // 0x1204 int32_t arc_lightning_damage_illusion_pct; // 0x1208 int32_t attack_range_bonus; // 0x120c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff { public: bool m_bShowEnemies; // 0x11e8 bool m_bTorrentStorm; // 0x11e9 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff { public: int32_t torrent_damage; // 0x11e8 float damage_tick_interval; // 0x11ec float flDamagePerTick; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff { public: int32_t movespeed_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff { public: int32_t torrent_min_distance; // 0x11e8 int32_t torrent_max_distance; // 0x11ec int32_t m_iExplosionQuadrant; // 0x11f0 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff { public: bool m_bTidebringerAttack; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t cleave_starting_width; // 0x11ec int32_t cleave_ending_width; // 0x11f0 int32_t cleave_distance; // 0x11f4 int32_t damage_bonus; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc int32_t cleave_damage; // 0x1200 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff { public: int32_t ally_ms; // 0x11e8 int32_t ally_armor; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff { public: Vector m_vStartLoc; // 0x11e8 bool m_bIsReflection; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CHandle< C_BaseEntity > m_hEntity; // 0x11f8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff { public: Vector vCasterOrigin; // 0x11e8 Vector vEnd; // 0x11f4 int32_t hitcount; // 0x1200 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff { public: int32_t m_iAccumulatedDamage; // 0x11e8 int32_t movespeed_bonus; // 0x11ec float ghostship_absorb; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff { public: int32_t m_iAccumulatedDamage; // 0x11e8 float m_flDuration; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff { public: int32_t stun_chance; // 0x11e8 float stun_duration; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff { public: CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 int32_t radius; // 0x1200 float total_duration; // 0x1204 float stun_duration; // 0x1208 int32_t tick_count; // 0x120c float toss_multiplier; // 0x1210 int32_t m_damage; // 0x1214 int32_t m_nTicks; // 0x1218 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t toss_damage; // 0x11ec }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff { public: int32_t attack_count; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t bonus_damage_buildings; // 0x11f0 float stun_duration; // 0x11f4 int32_t attack_range; // 0x11f8 int32_t m_nOriginalAttackCapability; // 0x11fc float bat_increase; // 0x1200 int32_t speed_reduction; // 0x1204 int32_t m_nBonusAttackRange; // 0x1208 CHandle< C_BaseEntity > m_hStolenTree; // 0x120c ParticleIndex_t m_nFXIndex; // 0x1210 ParticleIndex_t m_nFXAttackIndex; // 0x1214 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff { public: int32_t tree_grab_radius; // 0x11e8 int32_t splash_radius; // 0x11ec int32_t speed; // 0x11f0 float interval; // 0x11f4 Vector m_vPos; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 int32_t attack_speed_reduction; // 0x11ec int32_t bonus_damage; // 0x11f0 float tree_bonus_damage_pct; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff { public: int32_t shard_bonus_damage; // 0x11e8 }; // Alignment: 8 // Size: 0x1230 class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11e8 int32_t coil_radius; // 0x1200 int32_t coil_break_radius; // 0x1204 int32_t coil_initial_damage; // 0x1208 float coil_stun_duration; // 0x120c float coil_duration; // 0x1210 int32_t coil_break_damage; // 0x1214 CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1218 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff { public: Vector m_vCastLocation; // 0x11e8 int32_t coil_rapid_fire_z_offset; // 0x11f4 float coil_rapid_fire_rate; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t scepter_radius; // 0x11ec int32_t movespeed_bonus_pct; // 0x11f0 bool m_bDispellable; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t physical_damage_pct; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff { public: float enemy_movespeed_bonus_pct; // 0x11e8 float scepter_movespeed_bonus_pct; // 0x11ec int32_t scepter_blind; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 14 // Size: 0x1228 class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t focusfire_damage_reduction; // 0x11ec bool bActive; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t bonus_attack_speed; // 0x11f4 int32_t focusfire_fire_on_the_move; // 0x11f8 bool m_bPause; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: int32_t m_nNumArrowsLanded; // 0x1200 int32_t m_nDamageDealt; // 0x1204 int32_t m_nDamageDealtMax; // 0x1208 int32_t m_nTargetInitialHP; // 0x120c bool m_bHeroKilled; // 0x1210 bool m_bRecentFocusFireAttack; // 0x1211 private: [[maybe_unused]] uint8_t __pad1212[0xa]; // 0x1212 public: ParticleIndex_t m_nFXFocusFire; // 0x121c GameTime_t m_flLastFocusFireAttackTime; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff { public: bool m_bFrozen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t slow_attack_speed; // 0x11ec int32_t slow_attack_speed_primary; // 0x11f0 bool m_bIsPrimary; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t mana_drain; // 0x11ec float m_flIntervalRate; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 float creep_damage; // 0x11f8 bool m_bBlasted; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff { public: int32_t mana_drain; // 0x11e8 int32_t attack_count; // 0x11ec int32_t attack_speed; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t slow_attack_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff { public: int32_t armor_bonus; // 0x11e8 int32_t health_regen; // 0x11ec float slow_duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t slow_attack_speed; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float interval; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t health_regen; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff { public: int32_t m_nDamageToHeroes; // 0x11e8 int32_t m_nHeroesKilled; // 0x11ec int32_t m_nJumps; // 0x11f0 bool m_bFirstJump; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CHandle< C_BaseEntity > m_hTarget; // 0x11f8 CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11fc }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec CountdownTimer m_Timer; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 float negative_armor; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff { public: int32_t m_iDamageTaken; // 0x11e8 int32_t damage_reduction; // 0x11ec int32_t damage_cleanse; // 0x11f0 float damage_reset_interval; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff { public: int32_t attack_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff { public: int32_t attack_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed { public: int32_t movespeed; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff { public: float tick_interval; // 0x11e8 float total_damage; // 0x11ec float channel_time; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff { public: int32_t scepter_range; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 int32_t dodge_chance; // 0x11ec int32_t block_targeting; // 0x11f0 int32_t armor_reduction; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility { public: int32_t movement_speed; // 0x11f8 float fade_delay; // 0x11fc }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility { public: float fade_delay; // 0x11f8 int32_t backstab_angle; // 0x11fc int32_t cleave; // 0x1200 float damage_multiplier; // 0x1204 float bonus_xp_kill; // 0x1208 float bonus_xp_assist; // 0x120c bool m_bBackstab; // 0x1210 }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff { public: ParticleIndex_t m_nFxIndex; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec CountdownTimer m_Timer; // 0x11f0 CHandle< C_BaseEntity > m_hPreviousTarget; // 0x1208 int32_t m_nSucceessiveHits; // 0x120c int32_t damage_pct; // 0x1210 int32_t agility_pct; // 0x1214 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff { public: int32_t wake_damage_limit; // 0x11e8 float m_flDamageTaken; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff { public: float tick_rate; // 0x11e8 float stun_duration; // 0x11ec int32_t damage; // 0x11f0 float duration; // 0x11f4 int32_t m_nEidolonSpawnNum; // 0x11f8 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill { public: int32_t m_iAttackCount; // 0x11f0 int32_t split_attack_count; // 0x11f4 float life_extension; // 0x11f8 int32_t hp_bonus; // 0x11fc bool m_bAllowSplit; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: int32_t m_nSpawnNum; // 0x1204 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff { public: float damage_percent; // 0x11e8 int32_t radius; // 0x11ec ParticleIndex_t n_FXIndex; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff { public: float damage_percent; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t n_FXIndex; // 0x11ec }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff { public: int32_t pull_speed; // 0x11e8 int32_t radius; // 0x11ec int32_t damage; // 0x11f0 float tick_rate; // 0x11f4 float pull_rotate_speed; // 0x11f8 float animation_rate; // 0x11fc float scepter_pct_damage; // 0x1200 GameTime_t m_flDamageTick; // 0x1204 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff { public: int32_t scepter_radius; // 0x11e8 ParticleIndex_t n_FXIndex; // 0x11ec }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff { public: int32_t scepter_drag_speed; // 0x11e8 float scepter_pull_rotate_speed; // 0x11ec float aura_origin_x; // 0x11f0 float aura_origin_y; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 Vector m_vCenter; // 0x11fc GameTime_t m_flLastThinkTime; // 0x1208 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff { public: int32_t damage_absorb; // 0x11e8 int32_t status_resistance; // 0x11ec int32_t cooldown_reduction; // 0x11f0 bool m_bStartedTimer; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t m_nDamageAbsorbed; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 float max_health_removed; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff { public: int32_t range_reduction; // 0x11e8 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff { public: int32_t collision_radius; // 0x11e8 int32_t radius; // 0x11ec int32_t distance; // 0x11f0 int32_t distance_scepter; // 0x11f4 int32_t speed; // 0x11f8 int32_t machines_per_sec; // 0x11fc Vector m_vDir; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff { public: int32_t heal; // 0x11e8 float mana_per_second; // 0x11ec float heal_interval; // 0x11f0 int32_t enemy_damage_pct; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff { public: int32_t m_iStartHealth; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t bonus_damage_threshold; // 0x11f0 int32_t ticks; // 0x11f4 int32_t iCurrentTick; // 0x11f8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t m_iBounceRadius; // 0x11ec int32_t bonus_accuracy; // 0x11f0 bool m_bFirstAttack; // 0x11f4 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff { public: Vector m_vSavedPos; // 0x11e8 CHandle< C_BaseEntity > m_hSavedAbility; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_WitchDoctor_DeathWard_Voodoo_Switcheroo_AttackSpeedReduction : public CDOTA_Buff { public: int32_t attack_speed_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 bool m_bExploded; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 int32_t shrapnel_damage; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff { public: int32_t proc_chance; // 0x11e8 float slow_duration; // 0x11ec float knockback_distance; // 0x11f0 int32_t bonus_damage_creeps; // 0x11f4 int32_t bonus_attack_range; // 0x11f8 int32_t damage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t active_attack_range_bonus; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff { public: int32_t scepter_crit_damage; // 0x11e8 int32_t scatter_damage_pct; // 0x11ec bool is_secondary; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff { public: int32_t heal_bonus; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t slow_aoe; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff { public: int32_t magic_resistance_reduction; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 bool m_bStackCountChanged; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff { public: float mana_regen; // 0x11e8 float health_regen; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff { public: float aura_damage; // 0x11e8 int32_t heal_reduction_pct; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 3 // Size: 0x11f0 class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned { public: float stun_duration; // 0x11e8 bool m_bIllusion; // 0x11ec bool m_bArcWardenClone; // 0x11ed }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff { public: float hp_per_kill; // 0x11e8 float mana_per_kill; // 0x11ec float hp_regen; // 0x11f0 float mp_regen; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff { public: int32_t puddle_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff { public: int32_t river_speed; // 0x11e8 int32_t puddle_regen; // 0x11ec int32_t puddle_armor; // 0x11f0 int32_t puddle_status_resistance; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff { public: int32_t bonus_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff { public: int32_t crush_extra_slow; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 float duration; // 0x11ec int32_t attack_count; // 0x11f0 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 float scepter_delay; // 0x11ec int32_t undispellable; // 0x11f0 int32_t puddle_radius; // 0x11f4 float puddle_duration; // 0x11f8 Vector m_vecLastPuddle; // 0x11fc CHandle< C_BaseEntity > m_hPuddle; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff { public: int32_t attack_speed_bonus_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff { public: int32_t damage_per_stack; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: int32_t damage_per_stack; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t status_resistance; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed { public: int32_t movespeed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff { public: int32_t mana_per_second; // 0x11e8 int32_t break_distance; // 0x11ec float tick_interval; // 0x11f0 int32_t movespeed; // 0x11f4 int32_t damage_pct; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff { public: bool m_bIgnoreBonus; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff { public: bool m_bFrozen; // 0x11e8 bool m_bFlail; // 0x11e9 }; // Alignment: 4 // Size: 0x28 class CAnnouncerDescriptor { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CUtlString m_strAnnouncerName; // 0x8 CUtlString m_strAnnouncerVoiceFile; // 0x10 itemid_t m_nAnnouncerItemId; // 0x18 bool m_bItemOwnedByLocalPlayer; // 0x20 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hStashOwner; // 0x11e8 Vector m_vLocation; // 0x11ec bool m_bTransferAfterTake; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: int32_t stash_pickup_distance; // 0x11fc }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff { public: Vector m_vLocation; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_FountainPassive : public CDOTA_Buff { public: int32_t bonus_chance; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec bool m_bFlipped; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff { public: int32_t bash_chance; // 0x11e8 int32_t bonus_damage; // 0x11ec float stun_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff { public: int32_t slow_amount; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff { public: int32_t passive_reflection_pct; // 0x11e8 int32_t passive_reflection_bonus_per_death; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff { public: int32_t damage_absorb; // 0x11e8 float regen_per_second; // 0x11ec float regen_bonus_per_death; // 0x11f0 int32_t m_nDamageAbsorbed; // 0x11f4 GameTime_t m_timeLastTick; // 0x11f8 ParticleIndex_t nFXIndex; // 0x11fc }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_radius; // 0x11ec float m_flScalar; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_radius; // 0x11ec float m_flScalar; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 }; // Alignment: 3 // Size: 0x11f0 class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 bool m_bPhysicalImmune; // 0x11ec bool m_bMagicImmune; // 0x11ed }; // Alignment: 18 // Size: 0x1248 class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff { public: int32_t pounce_distance; // 0x11e8 float pounce_speed; // 0x11ec float pounce_acceleration; // 0x11f0 int32_t pounce_radius; // 0x11f4 int32_t pounce_damage; // 0x11f8 int32_t stun_radius; // 0x11fc float stun_duration; // 0x1200 float leash_duration; // 0x1204 float initial_delay; // 0x1208 float landing_delay; // 0x120c float vertical_adjust; // 0x1210 float vertical_adjust_max_distance; // 0x1214 float vertical_adjust_min_distance; // 0x1218 int32_t claw_damage; // 0x121c int32_t claw_damage_radius; // 0x1220 float claw_damage_delay; // 0x1224 float claw_damage_duration; // 0x1228 private: [[maybe_unused]] uint8_t __pad122c[0x4]; // 0x122c public: CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1230 }; // Alignment: 11 // Size: 0x1228 class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_radius; // 0x11ec int32_t stun_radius; // 0x11f0 float dive_distance; // 0x11f4 float initial_rise_time; // 0x11f8 float right_swipe_time; // 0x11fc float left_swipe_time; // 0x1200 float knockdown_duration; // 0x1204 float stun_duration; // 0x1208 int32_t m_nTickCounter; // 0x120c CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x1210 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_radius; // 0x11ec float m_flPlaybackRate; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff { public: int32_t area_of_effect; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff { public: float m_flStandUpDuration; // 0x11e8 float m_flKnockDownDuration; // 0x11ec bool m_bDebuff; // 0x11f0 bool m_bStandingUp; // 0x11f1 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff { public: int32_t chance_pct; // 0x11e8 float damage; // 0x11ec float movespeed_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff { public: int32_t bonus_movespeed_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_NianCharge : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff { public: float pinned_damage_amount; // 0x11e8 float pinned_damage_interval; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff { public: float pull_switch_interval; // 0x11e8 int32_t pull_speed; // 0x11ec bool m_bForward; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: ParticleIndex_t m_nfxIndex; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff { public: int32_t pull_radius; // 0x11e8 ParticleIndex_t n_FXIndex; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff { public: int32_t pull_radius; // 0x11e8 int32_t pull_speed; // 0x11ec int32_t radius; // 0x11f0 int32_t whirlpool_damage; // 0x11f4 float tick_rate; // 0x11f8 GameTime_t m_flDamageTick; // 0x11fc }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff { public: int32_t tick_count; // 0x11e8 int32_t beam_radius; // 0x11ec int32_t m_nTickCount; // 0x11f0 int32_t n_FXIndex; // 0x11f4 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff { public: int32_t explosion_radius; // 0x11e8 float damage_interval; // 0x11ec int32_t damage; // 0x11f0 int32_t n_FXIndex; // 0x11f4 }; // Alignment: 4 // Size: 0x1220 class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff { public: int32_t trail_damage_per_second; // 0x11e8 int32_t trail_damage_radius; // 0x11ec CUtlVector< int32 > m_vFXIndices; // 0x11f0 CUtlVector< Vector > m_vLocations; // 0x1208 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff { public: GameTime_t m_flReflectionStartTime; // 0x11e8 float m_flReflectionAmount; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff { public: int32_t bonus_spell_damage_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff { public: int32_t damage_radius; // 0x11e8 int32_t trigger_radius; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_JumpBoots : public CDOTA_Buff { public: int32_t push_length; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff { public: int32_t pounce_distance; // 0x11e8 float pounce_speed; // 0x11ec float pounce_acceleration; // 0x11f0 float initial_delay; // 0x11f4 float landing_delay; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float damage_per_health_missing; // 0x11ec float delay; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item { public: int32_t mana_regen_pct; // 0x11e8 int32_t move_speed_bonus; // 0x11ec int32_t bonus_stats; // 0x11f0 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x11e8 int32_t damage_share_percentage; // 0x1200 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff { public: float tick_interval; // 0x11e8 int32_t damage; // 0x11ec int32_t shard_movement_speed_pct; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff { public: int32_t m_iSlow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff { public: int32_t m_iAttackSpeed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff { public: float stun_duration; // 0x11e8 bool bHasScepter; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: int32_t aoe; // 0x11f0 int32_t m_iCount; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff { public: int32_t bonus_magic_resistance; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff { public: int32_t aura_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Imp_AutoAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hBestTarget; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff { public: float explosion_radius; // 0x11e8 float explosion_damage; // 0x11ec }; // Alignment: 17 // Size: 0x1290 class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff { public: Vector m_vLeftControl; // 0x11e8 Vector m_vRightControl; // 0x11f4 Vector m_vTargetLoc; // 0x1200 Vector m_vSourceLoc; // 0x120c float m_flDuration; // 0x1218 GameTime_t m_flDieTime; // 0x121c bool m_bReturning; // 0x1220 bool m_bCatchingAxes; // 0x1221 private: [[maybe_unused]] uint8_t __pad1222[0x6]; // 0x1222 public: CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1228 ParticleIndex_t m_nAxeFXIndex[2]; // 0x1240 CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1248 int32_t radius; // 0x1278 int32_t spread; // 0x127c int32_t axe_damage; // 0x1280 float duration; // 0x1284 float min_throw_duration; // 0x1288 float max_throw_duration; // 0x128c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff { public: float damage_amp; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff { public: Vector m_vDestination; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11f4 int32_t m_iTickCount; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff { public: float boar_bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t movement_speed; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed_pct; // 0x11e8 int32_t slow_attack_speed_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff { public: Vector m_vVelocity; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t toss_damage; // 0x11ec }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 int32_t radius; // 0x11ec int32_t max_stacks; // 0x11f0 float base_damage; // 0x11f4 int32_t heal_pct; // 0x11f8 int32_t creep_heal_pct; // 0x11fc int32_t iCurrentAttacksAtMinInterval; // 0x1200 float stack_decay_time; // 0x1204 float max_drum_hit_interval; // 0x1208 float min_drum_hit_interval; // 0x120c GameTime_t m_flLastStackChangeTime; // 0x1210 GameTime_t m_flLastDrumHitTime; // 0x1214 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff { public: int32_t bonus_ms; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff { public: int32_t bonus_hp; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff { public: int32_t duration_damage; // 0x11e8 int32_t duration_heal; // 0x11ec int32_t movement_slow; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CountdownTimer m_SlowInterval; // 0x11f8 float m_flSlowStep; // 0x1210 float m_flSlowStepStep; // 0x1214 float attack_buff_duration; // 0x1218 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff { public: bool m_bIsMeleeAttack; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t tick_damage; // 0x11ec float tick_interval; // 0x11f0 float duration; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff { public: int32_t m_iDamage; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t m_nTicksRemaining; // 0x11f0 float m_flAttackDamage; // 0x11f4 int32_t hp_regen_reduction; // 0x11f8 }; // Alignment: 0 // Size: 0x1200 class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff { public: int32_t m_iDamage; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t hp_regen_reduction; // 0x11f0 int32_t m_nTicksRemaining; // 0x11f4 float m_flAttackDamage; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff { public: int32_t ward_hp; // 0x11e8 int32_t ward_damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 int32_t speed; // 0x1208 int32_t radius; // 0x120c int32_t start_radius; // 0x1210 float duration; // 0x1214 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff { public: float damage; // 0x11e8 float magic_resist; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff { public: float health_damage; // 0x11e8 float debuff_radius; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff { public: float attack_slow; // 0x11e8 float movement_slow_max; // 0x11ec float debuff_radius; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff { public: float health_damage; // 0x11e8 float attack_slow; // 0x11ec float movement_slow_max; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff { public: int32_t duration_damage; // 0x11e8 int32_t movement_slow; // 0x11ec int32_t explosion_damage; // 0x11f0 float explosion_stun_duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff { public: int32_t dodge_chance_pct; // 0x11e8 }; // Alignment: 10 // Size: 0x1248 class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff { public: float duration; // 0x11e8 float duration_creep; // 0x11ec float delay; // 0x11f0 int32_t chance_pct; // 0x11f4 int32_t bonus_damage; // 0x11f8 GameTime_t last_attack_time; // 0x11fc CUtlVector< int16 > m_ProcAttackRecords; // 0x1200 GameTime_t apply_activity_modifier_until; // 0x1218 GameTime_t disable_activity_modifier_until; // 0x121c CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x1220 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t m_nAffectedAbilities; // 0x11ec GameTime_t m_flLastDamageTime; // 0x11f0 int32_t slow; // 0x11f4 int32_t cooldown_percentage; // 0x11f8 int32_t damage_per_stack; // 0x11fc int32_t base_damage; // 0x1200 }; // Alignment: 0 // Size: 0x1200 class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff { public: Vector m_vStartLocation; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff { public: float duration; // 0x11e8 float duration_creep; // 0x11ec int32_t bonus_damage; // 0x11f0 float delay; // 0x11f4 CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff { public: ParticleIndex_t m_nCasterFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 14 // Size: 0x1220 class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff { public: float flSmoothness; // 0x11e8 float damage; // 0x11ec float damage_pct; // 0x11f0 int32_t drain_range; // 0x11f4 float haunt_duration; // 0x11f8 int32_t siphon_buffer; // 0x11fc int32_t movement_steal; // 0x1200 CHandle< C_BaseEntity > m_hTarget; // 0x1204 ParticleIndex_t m_iLinkIndex; // 0x1208 int32_t m_nSelfBuffSerialNumber; // 0x120c int32_t m_nTargetDebuffSerialNumber; // 0x1210 bool m_bAppliedFear; // 0x1214 private: [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 public: float shard_fear_duration; // 0x1218 float shard_consecutive_siphon_duration; // 0x121c }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff { public: int32_t movement_steal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 18 // Size: 0x1248 class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t spirit_speed; // 0x11ec int32_t max_distance; // 0x11f0 int32_t give_up_distance; // 0x11f4 int32_t min_damage; // 0x11f8 int32_t max_damage; // 0x11fc int32_t heal_percent; // 0x1200 int32_t spirit_duration; // 0x1204 float ghost_spawn_rate; // 0x1208 int32_t movement_bonus; // 0x120c int32_t m_iSpirits; // 0x1210 GameTime_t m_fStartTime; // 0x1214 GameTime_t m_fLastThinkTime; // 0x1218 GameTime_t m_fSpawnTime; // 0x121c bool m_bFirstSpawn; // 0x1220 bool m_bCommentedOnExpired; // 0x1221 bool m_bForceExpired; // 0x1222 private: [[maybe_unused]] uint8_t __pad1223[0x5]; // 0x1223 public: CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1228 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 }; // Alignment: 12 // Size: 0x1228 class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t spirit_speed; // 0x11ec int32_t max_distance; // 0x11f0 int32_t give_up_distance; // 0x11f4 int32_t min_damage; // 0x11f8 int32_t max_damage; // 0x11fc int32_t heal_percent; // 0x1200 int32_t spirit_duration; // 0x1204 GameTime_t m_fStartTime; // 0x1208 GameTime_t m_fLastThinkTime; // 0x120c bool m_bExpired; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 public: sSpiritInfo* m_SpiritInfo; // 0x1218 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff { public: int32_t bonus_spell_damage_pct; // 0x11e8 int32_t bonus_heal_amp_pct_allies; // 0x11ec int32_t bonus_movement_speed; // 0x11f0 int32_t bonus_movement_speed_allies; // 0x11f4 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float mana_multiplier; // 0x11ec float mana_drained_per_attack; // 0x11f0 int32_t attacks_to_destroy; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff { public: float mana_regen; // 0x11e8 float spell_damage_reduction; // 0x11ec }; // Alignment: 16 // Size: 0x1220 class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff { public: int32_t health_drain; // 0x11e8 int32_t ally_healing; // 0x11ec float tick_rate; // 0x11f0 bool m_bDoRangeCheck; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: ParticleIndex_t m_nFXIndex; // 0x11f8 GameTime_t m_flElapsedTime; // 0x11fc bool m_bPrimary; // 0x1200 bool m_bShard; // 0x1201 bool m_bFromWard; // 0x1202 private: [[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203 public: CHandle< C_BaseEntity > m_hWard; // 0x1204 float spell_amp_drain_duration; // 0x1208 int32_t max_spell_amp_drain_pct; // 0x120c int32_t spell_amp_drain_rate; // 0x1210 int32_t spell_amp_drain_rate_ward; // 0x1214 int32_t spell_amp_drain_max; // 0x1218 int32_t health_to_mana_rate; // 0x121c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff { public: bool m_bIsFriendly; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff { public: int32_t base_damage; // 0x11e8 int32_t attack_factor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 9 // Size: 0x1238 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 CountdownTimer m_ViewerTimer; // 0x1208 int32_t projectile_speed; // 0x1220 int32_t radius; // 0x1224 float duration; // 0x1228 float pct_health_damage_initial; // 0x122c float max_damage_initial; // 0x1230 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t lifesteal_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff { public: int32_t bonus_evasion; // 0x11e8 }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 float fade_duration; // 0x11fc float scepter_fade_duration; // 0x1200 bool m_bDestroyNext; // 0x1204 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff { public: int32_t crit_bonus; // 0x11e8 int32_t crit_chance; // 0x11ec bool crit_active; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff { public: int32_t m_nEpitaph; // 0x11e8 PlayerID_t m_nVictimPlayerID; // 0x11ec int32_t m_nVictimHeroID; // 0x11f0 int32_t m_nCritDmg; // 0x11f4 int32_t m_nContractComplete; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff { public: int32_t m_nFXIndex; // 0x11e8 bool m_bContractGravestoneComplete; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 int32_t bonus_damage; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff { public: int32_t damage_threshold; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff { public: bool launched_attack; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 bool launched_attack; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: CHandle< C_BaseEntity > m_hTarget; // 0x11f0 int32_t m_nAttackRecord; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 float attack_spill_range; // 0x11ec int32_t attack_spill_width; // 0x11f0 int32_t attack_spill_pct; // 0x11f4 int32_t attack_spill_penalty; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible { public: int32_t shard_bonus_vision; // 0x11f8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff { public: int32_t movement_speed_min; // 0x11e8 int32_t movement_speed_max; // 0x11ec int32_t trap_bonus_damage; // 0x11f0 float trap_max_charge_duration; // 0x11f4 float shard_min_silence_duration; // 0x11f8 float shard_max_silence_duration; // 0x11fc float stage; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t damage_absorb; // 0x11ec float m_flDamageAbsorbed; // 0x11f0 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff { public: float duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t shard_armor_reduction; // 0x11ec int32_t shard_building_dmg_pct; // 0x11f0 int32_t movement_speed; // 0x11f4 int32_t magic_resistance; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff { public: int32_t min_damage; // 0x11e8 int32_t max_damage; // 0x11ec float max_duration; // 0x11f0 float m_flDamageInterval; // 0x11f4 float m_flTimeIncrement; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff { public: int32_t bonus_magic_resistance; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t damage; // 0x11ec int32_t effect_multiplier_distance; // 0x11f0 int32_t effect_multiplier; // 0x11f4 bool m_bEffectMultiplied; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 8 // Size: 0x1218 class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff { public: Vector m_vTargetPos; // 0x11e8 Vector m_vStart; // 0x11f4 float m_flZDelta; // 0x1200 int32_t radius; // 0x1204 int32_t corrosive_radius; // 0x1208 float effect_duration; // 0x120c int32_t dive_speed; // 0x1210 float start_height; // 0x1214 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff { public: int32_t damage_buff_per_beam; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff { public: int32_t range; // 0x11e8 int32_t bounces; // 0x11ec int32_t damage_reduction_percent; // 0x11f0 ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11f4 }; // Alignment: 6 // Size: 0x1210 class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible { public: int32_t bonus_speed_day; // 0x11f8 int32_t bonus_speed_night; // 0x11fc int32_t break_distance_day; // 0x1200 int32_t break_distance_night; // 0x1204 int32_t visibility_radius; // 0x1208 int32_t bonus_movement_speed; // 0x120c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t bonus_night_vision; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_damage_self; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 float night_multiplier; // 0x11ec }; // Alignment: 13 // Size: 0x1240 class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t radius; // 0x11ec int32_t beams; // 0x11f0 int32_t hit_count; // 0x11f4 int32_t m_iBeamDamage; // 0x11f8 float beam_interval; // 0x11fc float stun_duration; // 0x1200 Vector vPosition; // 0x1204 bool bAreaTarget; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_iTickCount; // 0x1214 ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1220 float m_flBeamStun; // 0x1238 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff { public: int32_t reduction; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff { public: int32_t bonus_health_regen; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_attack_damage; // 0x11ec int32_t bonus_attack_range; // 0x11f0 int32_t attack_projectile_speed_bonus; // 0x11f4 int32_t magic_resistance; // 0x11f8 int32_t model_scale; // 0x11fc int32_t iLevel; // 0x1200 int32_t m_iOriginalAttackCapabilities; // 0x1204 CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff { public: float corrosive_breath_duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff { public: int32_t corrosive_breath_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff { public: int32_t splash_radius; // 0x11e8 int32_t splash_damage_percent; // 0x11ec float corrosive_breath_duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff { public: float frost_duration; // 0x11e8 float frost_aoe; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff { public: int32_t frost_bonus_movement_speed; // 0x11e8 int32_t frost_bonus_attack_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float linger_duration; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff { public: float burn_interval; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff { public: float cooldown_reduction; // 0x11e8 float item_cooldown_reduction; // 0x11ec float duration; // 0x11f0 int32_t radius; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float armor_reduction; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff { public: float armor_reduction; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float interval; // 0x11ec float hex_chance; // 0x11f0 float hex_duration; // 0x11f4 int32_t damage; // 0x11f8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff { public: int32_t slow; // 0x11e8 float bonus_slow; // 0x11ec int32_t bonus_damage; // 0x11f0 float flAccummulatedBonusSlow; // 0x11f4 int32_t iAccummulatedBonusDamage; // 0x11f8 int32_t attack_range_bonus; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff { public: int32_t attack_range_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff { public: int32_t heal_amplify; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff { public: float armor_per_second; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff { public: int32_t num_explosions; // 0x11e8 int32_t radius; // 0x11ec float m_fExplosions; // 0x11f0 float tower_bonus; // 0x11f4 bool m_bTalentActive; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff { public: float interval_scepter; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t radius; // 0x11ec int32_t jump_count; // 0x11f0 float slow_duration; // 0x11f4 float jump_delay; // 0x11f8 CHandle< C_BaseEntity > hInitialTarget; // 0x11fc float m_flDamage; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff { public: int32_t magic_amp; // 0x11e8 int32_t slow; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff { public: int32_t magic_amp; // 0x11e8 int32_t slow; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float interval; // 0x11ec }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff { public: bool m_bFirst; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0xb]; // 0x11e9 public: int32_t damage_resistance; // 0x11f4 int32_t bonus_movespeed; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff { public: ParticleIndex_t m_nOverclockFX; // 0x11e8 int32_t bonus_movement_speed; // 0x11ec int32_t bonus_attack_speed; // 0x11f0 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff { public: int32_t magic_barrier; // 0x11e8 int32_t m_nAbsorbRemaining; // 0x11ec }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff { public: int32_t cogs_radius; // 0x11e8 int32_t extra_pull_buffer; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff { public: int32_t cogs_radius; // 0x11e8 int32_t extra_pull_buffer; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff { public: int32_t leash; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff { public: int32_t cogs_radius; // 0x11e8 int32_t extra_pull_buffer; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff { public: int32_t cogs_radius; // 0x11e8 int32_t extra_pull_buffer; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1218 class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff { public: bool m_bEnabled; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t trigger_distance; // 0x11ec int32_t push_length; // 0x11f0 float push_duration; // 0x11f4 int32_t cogs_radius; // 0x11f8 int32_t attacks_to_destroy; // 0x11fc int32_t m_iCogIndex; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1204 Vector vCenter; // 0x1208 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff { public: GameTime_t m_flStartTime; // 0x11e8 int32_t push_length; // 0x11ec float push_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff { public: float slow_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff { public: float radius; // 0x11e8 float duration; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff { public: float rocket_flare_interval; // 0x11e8 int32_t rocket_flare_offset_pct; // 0x11ec int32_t rocket_flare_rockets; // 0x11f0 int32_t m_nRocketsFired; // 0x11f4 int32_t radius; // 0x11f8 Vector m_vOriginalTarget; // 0x11fc }; // Alignment: 10 // Size: 0x1260 class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff { public: int32_t bonus_speed; // 0x11e8 float turn_rate; // 0x11ec GameTime_t m_flStartTime; // 0x11f0 float tick_interval; // 0x11f4 float m_flFacingTarget; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc CUtlVector< float32 > m_flTurnHistory; // 0x1200 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1218 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1230 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1248 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t speed; // 0x11f0 float stun_radius; // 0x11f4 float damage; // 0x11f8 float duration; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff { public: int32_t blind_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff { public: float damage_per_stack; // 0x11e8 int32_t iMaxStacks; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff { public: float armor_per_stack; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t max_targets; // 0x11ec int32_t damage_percent_add; // 0x11f0 float jump_delay; // 0x11f4 int32_t m_iFixedDamage; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage_per_tree; // 0x11ec int32_t slow_per_tree; // 0x11f0 int32_t m_nSlow; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff { public: int32_t treant_hp_bonus; // 0x11e8 int32_t treant_damage_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff { public: int32_t treant_large_hp_bonus; // 0x11e8 int32_t treant_large_damage_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff { public: float hp_leech_percent; // 0x11e8 float hp_damage_percent; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff { public: int32_t attack_speed_bonus; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff { public: int32_t miss_pct; // 0x11e8 int32_t movement_slow; // 0x11ec }; // Alignment: 6 // Size: 0x1220 class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff { public: int32_t slow_steps[8]; // 0x11e8 int32_t heal_percent; // 0x1208 int32_t m_nDamageTracker; // 0x120c int32_t damage_threshold; // 0x1210 int32_t spread_radius; // 0x1214 int32_t max_health_as_damage_pct; // 0x1218 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_nFXIndex; // 0x11ec float self_regen; // 0x11f0 int32_t m_nStartingHealth; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_health; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff { public: float attack_rate_enemy; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff { public: bool m_bChangedTeams; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff { public: float order_lock_duration; // 0x11e8 GameTime_t m_fOrderLockDone; // 0x11ec int32_t m_nFXIndex; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff { public: int32_t movement_speed_bonus; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 4 // Size: 0x1360 class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff { public: Vector m_PositionIndex[30]; // 0x11e8 ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1350 float m_flDistanceTraveled; // 0x1354 bool m_bIsValidTarget; // 0x1358 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff { public: Vector m_vecIllusionSpawnPosition; // 0x11e8 int32_t speed; // 0x11f4 CHandle< C_BaseEntity > m_hTarget; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff { public: float pull_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_IonShell : public CDOTA_Buff { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff { public: int32_t speed_boost; // 0x11e8 int32_t trail_radius; // 0x11ec float trail_duration; // 0x11f0 Vector m_vLastTrailThinkerLocation; // 0x11f4 bool m_bTrailStarted; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff { public: int32_t trail_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff { public: int32_t trail_move_slow; // 0x11e8 int32_t trail_damage; // 0x11ec float trail_damage_interval; // 0x11f0 }; // Alignment: 7 // Size: 0x1250 class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff { public: Vector m_vWallDirection; // 0x11e8 Vector m_vWallRight; // 0x11f4 private: [[maybe_unused]] uint8_t __pad1200[0x18]; // 0x1200 public: CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1218 int32_t width; // 0x1238 float slow_duration; // 0x123c int32_t replica_damage_incoming; // 0x1240 int32_t replica_damage_outgoing; // 0x1244 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff { public: int32_t replica_scale; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff { public: int32_t replica_scale; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable { public: int32_t radius; // 0x11e8 }; // Alignment: 3 // Size: 0x1210 class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff { public: int32_t damage_bonus; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 bool m_bBonusAttack; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff { public: int32_t health_gain; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 int32_t count; // 0x11ec int32_t range; // 0x11f0 Vector m_vFacePosition; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff { public: float attack_rate; // 0x11e8 int32_t damage_percent; // 0x11ec int32_t skeleton_health; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 int32_t skeleton_building_damage_reduction; // 0x11f8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: int32_t move_speed_bonus_pct; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff { public: int32_t attack_speed_bonus; // 0x11e8 int32_t attack_range_bonus; // 0x11ec int32_t archer_attack_speed_pct; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff { public: // No members available }; // Alignment: 13 // Size: 0x1228 class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff { public: int32_t m_iArrowCount; // 0x11e8 Vector m_vOriginalTarget; // 0x11ec int32_t arrow_width; // 0x11f8 float arrow_speed; // 0x11fc float arrow_range_multiplier; // 0x1200 int32_t wave_count; // 0x1204 int32_t arrow_count_per_wave; // 0x1208 int32_t arrow_angle; // 0x120c int32_t m_iLoopCount; // 0x1210 float m_flInterval; // 0x1214 float m_flCycleDelay; // 0x1218 float m_flTimeWaste; // 0x121c GameTime_t m_flExpectedTime; // 0x1220 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float slow_duration; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 }; // Alignment: 3 // Size: 0x1210 class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff { public: int32_t damage_bonus; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 bool m_bBonusAttack; // 0x1208 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff { public: GameTime_t m_flNextAttackTime; // 0x11e8 float attack_cooldown; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t hp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff { public: int32_t spell_resistance_reduction; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff { public: int32_t status_resistance; // 0x11e8 float hp_regen; // 0x11ec int32_t bonus_str; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff { public: int32_t base_strength; // 0x11e8 int32_t base_hpregen; // 0x11ec int32_t strength_bonus; // 0x11f0 int32_t nDebuffAmount; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff { public: int32_t scepter_status_resist; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_nAlliesTaunted; // 0x11ec bool m_bRelicTriggered; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t radius; // 0x11f4 int32_t damage_amplification; // 0x11f8 int32_t damage_reduction; // 0x11fc GameTime_t m_flLastSeen; // 0x1200 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 int32_t bonus_move_speed; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff { public: int32_t slow_attack_speed; // 0x11e8 ParticleIndex_t m_nStatusFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t enchant_health; // 0x11ec int32_t enchant_armor; // 0x11f0 int32_t enchant_damage; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff { public: float heal_interval; // 0x11e8 float heal; // 0x11ec int32_t radius; // 0x11f0 int32_t shard_permanent_wisp_count; // 0x11f4 bool m_bActive; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: ParticleIndex_t m_nWispFXIndex; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff { public: float heal_interval; // 0x11e8 float heal; // 0x11ec int32_t radius; // 0x11f0 int32_t wisp_count; // 0x11f4 int32_t movespeed; // 0x11f8 ParticleIndex_t m_nWispFXIndex; // 0x11fc }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff { public: float distance_damage_pct; // 0x11e8 int32_t distance_cap; // 0x11ec float creep_multiplier; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff { public: float knockback_distance; // 0x11e8 float knockback_duration; // 0x11ec float effective_distance; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: int32_t movement_slow_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff { public: int32_t heal; // 0x11e8 float attrib_bonus; // 0x11ec float hurt_attrib_bonus; // 0x11f0 float hurt_percent; // 0x11f4 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 float duration; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: int32_t burn_damage; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff { public: int32_t maximum_health_regen; // 0x11e8 int32_t maximum_attack_speed; // 0x11ec int32_t maximum_magic_resist; // 0x11f0 int32_t hp_threshold_max; // 0x11f4 ParticleIndex_t m_nFxHuskIndex; // 0x11f8 ParticleIndex_t m_nFxIndexA; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 bool m_bDidSetAttackTarget; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff { public: int32_t radius_scepter; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff { public: int32_t bonus_movement_speed_pct_night; // 0x11e8 int32_t bonus_attack_speed_night; // 0x11ec int32_t bonus_status_resist_night; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t status_resistance; // 0x11ec int32_t hp_regen; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff { public: float spiderling_duration; // 0x11e8 int32_t count; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff { public: float shard_spiderling_duration; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff { public: int32_t hp_bonus; // 0x11e8 int32_t damage_bonus; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff { public: float buff_duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hParentSpider; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff { public: float duration; // 0x11e8 float duration_hero; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 int32_t movement_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t m_nFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff { public: int32_t heath_regen; // 0x11e8 int32_t bonus_movespeed; // 0x11ec int32_t bonus_movespeed_scepter; // 0x11f0 float bonus_turn_rate; // 0x11f4 float flLastDamageTime; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff { public: int32_t miss_chance; // 0x11e8 int32_t bonus_movespeed; // 0x11ec }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t lifesteal_pct; // 0x11ec float slow_duration; // 0x11f0 float bat_bonus; // 0x11f4 float shard_damage_tick_interval; // 0x11f8 int32_t damage_tick_count; // 0x11fc int32_t shard_damage_per_tick; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff { public: int32_t attack_damage; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t miss_chance; // 0x11f0 int32_t shard_miss_chance; // 0x11f4 }; // Alignment: 14 // Size: 0x1250 class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff { public: Vector m_vOrigin; // 0x11e8 Vector m_vWallDirection; // 0x11f4 Vector m_vWallRight; // 0x1200 int32_t width; // 0x120c float root_duration; // 0x1210 float formation_delay; // 0x1214 bool m_bTouching; // 0x1218 private: [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: CHandle< C_BaseEntity > m_hRight; // 0x121c bool m_bParticle; // 0x1220 private: [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 public: GameTime_t m_flStartingTime; // 0x1224 int32_t m_nFoWID; // 0x1228 int32_t m_nTeamID; // 0x122c CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1230 ParticleIndex_t m_nWarmupFXIndex; // 0x1248 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff { public: float damage_per_second; // 0x11e8 bool m_bFirstSecond; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 int32_t m_nParentGold; // 0x11ec int32_t target_crit_multiplier; // 0x11f0 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t gold_steal; // 0x11ec ParticleIndex_t m_nFXIndexA; // 0x11f0 ParticleIndex_t m_nFXIndexB; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 3 // Size: 0x1218 class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible { public: int32_t damage_reduction_pct; // 0x11f8 float shard_stun_duration; // 0x11fc CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t attack_slow; // 0x11ec }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible { public: bool m_bActivated; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff { public: int32_t bonus_move_speed_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 }; // Alignment: 6 // Size: 0x1210 class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff { public: int32_t m_iMaxDist; // 0x11e8 int32_t m_iAttackCount; // 0x11ec int32_t destroy_attacks; // 0x11f0 Vector m_vDirection; // 0x11f4 Vector m_vStartLoc; // 0x1200 CHandle< C_BaseEntity > m_hAttachTarget; // 0x120c }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff { public: float armor_reduction; // 0x11e8 int32_t damage; // 0x11ec float m_flCurrentArmorReduction; // 0x11f0 }; // Alignment: 5 // Size: 0x1220 class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 int32_t damage; // 0x11fc int32_t speed; // 0x1200 float geminate_attack_mark_duration; // 0x1204 CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_iAttacksRemaining; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 4 // Size: 0x12c8 class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff { public: Vector m_PositionIndex[11]; // 0x11e8 float m_flLife[11]; // 0x126c float m_flMana[11]; // 0x1298 bool m_bHasValidHistory; // 0x12c4 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff { public: int32_t start_radius; // 0x11e8 int32_t end_radius; // 0x11ec GameTime_t m_fStartTime; // 0x11f0 float m_fTotalTime; // 0x11f4 Vector m_vCastPosition; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed_pct; // 0x11e8 int32_t slow_attack_speed_pct; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff { public: bool m_bFirst; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t burn_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 9 // Size: 0x1238 class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff { public: float path_delay; // 0x11e8 int32_t path_radius; // 0x11ec int32_t m_nDamage; // 0x11f0 float m_flRadius; // 0x11f4 float stun_duration; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x1200 Vector m_vPathStart; // 0x1218 Vector m_vPathEnd; // 0x1224 GameTime_t m_fStartTime; // 0x1230 }; // Alignment: 5 // Size: 0x1218 class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff { public: float duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 int32_t radius; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x120c bool m_bForceProc; // 0x1210 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff { public: int32_t base_damage; // 0x11e8 float pct_health_damage; // 0x11ec int32_t movement_slow; // 0x11f0 }; // Alignment: 5 // Size: 0x1218 class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff { public: float duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 int32_t radius; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x120c bool m_bForceProc; // 0x1210 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff { public: int32_t slow_attack_speed_pct; // 0x11e8 float damage; // 0x11ec }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 float burn_interval; // 0x11f4 int32_t path_radius; // 0x11f8 int32_t cast_range; // 0x11fc float linger_duration; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_scepter; // 0x11ec float burn_interval; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff { public: bool m_bShouldApply; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base { public: float movement_speed_pct; // 0x11e8 int32_t turn_rate_pct; // 0x11ec int32_t damage; // 0x11f0 int32_t application_damage; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 ParticleIndex_t m_nFXStackIndex; // 0x11fc }; // Alignment: 0 // Size: 0x1218 class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff { public: int32_t damage_impact; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t slow; // 0x11f0 }; // Alignment: 12 // Size: 0x1238 class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff { public: bool m_bActive; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t radius; // 0x11ec int32_t m_ifirefly_Active; // 0x11f0 int32_t tree_radius; // 0x11f4 int32_t damage_per_second; // 0x11f8 int32_t movement_speed; // 0x11fc float tick_interval; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1204 ParticleIndex_t m_nFXIndexB; // 0x1208 GameTime_t m_fNextDamageTick; // 0x120c Vector m_vLastFirePoolLoc; // 0x1210 int32_t bonus_vision; // 0x121c }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff { public: float tick_rate; // 0x11e8 int32_t drag_distance; // 0x11ec int32_t break_distance; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 Vector vPreviousLocation; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff { public: int32_t max_ticks; // 0x11e8 float damage; // 0x11ec float duration; // 0x11f0 float tick_rate; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_damage_taken; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: float teleport_delay; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff { public: int32_t armor; // 0x11e8 float heal_rate; // 0x11ec int32_t creep_bonus; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff { public: int32_t health_min; // 0x11e8 int32_t new_max; // 0x11ec int32_t health_bonus; // 0x11f0 int32_t damage_bonus; // 0x11f4 int32_t movement_speed_bonus; // 0x11f8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff { public: bool bToChen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff { public: int32_t heal_per_second; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 7 // Size: 0x1230 class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x18]; // 0x11e8 public: CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x1200 int32_t path_radius; // 0x1218 int32_t vision_radius; // 0x121c int32_t dagger_radius; // 0x1220 float buff_persistence; // 0x1224 float dagger_grace_period; // 0x1228 float dagger_path_duration; // 0x122c }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff { public: int32_t path_radius; // 0x11e8 float hero_path_duration; // 0x11ec Vector m_vLastPosition; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 CHandle< C_BaseEntity > m_hTrackingTarget; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff { public: int32_t blind_pct; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff { public: int32_t damage_reflection_pct; // 0x11e8 int32_t min_radius; // 0x11ec int32_t max_radius; // 0x11f0 int32_t activation_bonus_pct; // 0x11f4 GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f8 float m_fDamageCounter; // 0x11fc float m_fLastTime; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff { public: GameTime_t m_fStartAttackTime; // 0x11e8 CHandle< C_BaseEntity > hTarget; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff { public: ParticleIndex_t m_nCasterFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff { public: int32_t armor; // 0x11e8 int32_t magic_resist; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff { public: int32_t bonus_movement_speed_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 int32_t bonus_movement_speed_pct; // 0x11ec int32_t radius; // 0x11f0 int32_t damage_per_hero; // 0x11f4 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff { public: bool m_bInfernalBladeAttack; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: ParticleIndex_t m_nFXIndex; // 0x11ec float burn_duration; // 0x11f0 float ministun_duration; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff { public: int32_t burn_damage; // 0x11e8 float burn_damage_pct; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff { public: int32_t scepter_aura_radius; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff { public: int32_t scepter_aura_radius; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff { public: int32_t damage; // 0x11e8 float duration; // 0x11ec int32_t deniable_pct; // 0x11f0 float flElapsedTime; // 0x11f4 int32_t damage_amp; // 0x11f8 bool m_bDoesBreak; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff { public: int32_t chance_pct; // 0x11e8 float damage; // 0x11ec float movespeed_duration; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff { public: int32_t bonus_movespeed_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 CEntityIndex m_iChargeTargetEntityIndex; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff { public: int32_t m_nFXIndex; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t status_resistance; // 0x11ec float damage_barrier; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff { public: int32_t bonus_movespeed_pct_self; // 0x11e8 int32_t bonus_movespeed_pct_allies; // 0x11ec int32_t bonus_movespeed_pct_extra; // 0x11f0 int32_t duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff { public: int32_t invis_threshold_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff { public: int32_t damage; // 0x11e8 bool m_bStrikeLanded; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: Vector m_vCastLocation; // 0x11f0 CHandle< C_BaseEntity > m_hTarget; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t magic_resistance; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff { public: int32_t rocket_damage; // 0x11e8 int32_t bonus_movement_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 17 // Size: 0x1268 class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nFXIndex2; // 0x11ec int32_t hero_damage; // 0x11f0 int32_t acceleration; // 0x11f4 int32_t min_damage; // 0x11f8 int32_t max_distance; // 0x11fc int32_t shard_radius; // 0x1200 float shard_delay; // 0x1204 float pre_flight_time; // 0x1208 float stun_duration; // 0x120c int32_t m_nMissileDamage; // 0x1210 int32_t m_nTeamNumber; // 0x1214 private: [[maybe_unused]] uint8_t __pad1218[0x8]; // 0x1218 public: float speed; // 0x1220 CHandle< C_BaseEntity > m_hAttachTarget; // 0x1224 Vector m_vStartPosition; // 0x1228 private: [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 public: CountdownTimer m_EnemyVision; // 0x1238 CountdownTimer m_MoveTime; // 0x1250 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff { public: int32_t rocket_damage; // 0x11e8 int32_t shard_radius; // 0x11ec CHandle< C_BaseEntity > m_hTarget; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff { public: int32_t max_attacks; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t m_iNumAttacks; // 0x11f0 int32_t projectile_speed; // 0x11f4 int32_t radius; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff { public: float fire_rate; // 0x11e8 int32_t scepter_radius; // 0x11ec }; // Alignment: 11 // Size: 0x1210 class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff { public: int32_t slow_duration_first; // 0x11e8 int32_t slow_duration_second; // 0x11ec int32_t damage_first; // 0x11f0 int32_t damage_second; // 0x11f4 int32_t damage_second_scepter; // 0x11f8 int32_t radius; // 0x11fc float slow_first; // 0x1200 float slow_second; // 0x1204 bool m_bFirstStrike; // 0x1208 bool m_bDelayed; // 0x1209 bool m_bHalfDamage; // 0x120a }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t armor_allies; // 0x11ec int32_t radius; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff { public: float brew_time; // 0x11e8 float brew_explosion; // 0x11ec GameTime_t m_fStartTime; // 0x11f0 GameTime_t m_fLastAlertTime; // 0x11f4 ParticleIndex_t m_nConcoctionFXIndex; // 0x11f8 bool m_bHasStunned; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: int32_t damage_resistance; // 0x1200 int32_t move_speed; // 0x1204 }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff { public: CUtlVector< GameTime_t > m_DeathList; // 0x11e8 float damage; // 0x1200 float duration; // 0x1204 int32_t bonus_gold; // 0x1208 int32_t bonus_bonus_gold; // 0x120c int32_t bonus_gold_cap; // 0x1210 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff { public: float base_attack_time; // 0x11e8 int32_t bonus_health; // 0x11ec int32_t bonus_health_regen; // 0x11f0 float bonus_mana_regen; // 0x11f4 int32_t bonus_movespeed; // 0x11f8 ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff { public: int32_t scepter_bonus_damage; // 0x11e8 int32_t scepter_spell_amp; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t hp_regen; // 0x11ec int32_t move_speed; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff { public: int32_t slow_per_stack; // 0x11e8 float status_resist_per_stack; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff { public: float freeze_damage; // 0x11e8 float freeze_duration; // 0x11ec float freeze_cooldown; // 0x11f0 float damage_trigger; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible { public: int32_t self_slow; // 0x11f8 int32_t area_of_effect; // 0x11fc float aura_fade_time; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff { public: int32_t enemy_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff { public: int32_t area_of_effect; // 0x11e8 int32_t mana_burned; // 0x11ec float damage_per_mana; // 0x11f0 CHandle< C_BaseEntity > m_hPullThinker; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff { public: int32_t area_of_effect; // 0x11e8 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff { public: int32_t shard_drag_speed; // 0x11e8 float aura_origin_x; // 0x11ec float aura_origin_y; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 Vector m_vCenter; // 0x11f8 GameTime_t m_flLastThinkTime; // 0x1204 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff { public: float damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff { public: int32_t area_of_effect; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff { public: int32_t area_of_effect; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff { public: int32_t level; // 0x11e8 int32_t armor; // 0x11ec int32_t mana; // 0x11f0 float attack_range; // 0x11f4 float armor_per_attack; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff { public: float armor_removed; // 0x11e8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff { public: float damage_per_second; // 0x11e8 int32_t num_wall_elements; // 0x11ec int32_t wall_element_spacing; // 0x11f0 int32_t wall_element_radius; // 0x11f4 Vector m_vWallDir; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t slow; // 0x11ec float slow_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff { public: float disarm_duration; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff { public: int32_t damage; // 0x11e8 ParticleIndex_t nFxIndex; // 0x11ec int32_t penalty_duration; // 0x11f0 float penalty_multiplier; // 0x11f4 int32_t movespeed; // 0x11f8 int32_t undispellable; // 0x11fc }; // Alignment: 4 // Size: 0x1228 class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff { public: float intellect_damage_pct; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x1208 CDOTA_Buff* m_pAttackCounterBuff; // 0x1220 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff { public: int32_t int_steal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff { public: int32_t int_steal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff { public: int32_t duration; // 0x11e8 bool spellcast; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: int32_t damage; // 0x11f0 float debuff_duration; // 0x11f4 float int_multiplier; // 0x11f8 int32_t scepter_bonus_damage; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff { public: float mana_pool_damage_pct; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff { public: int32_t allied_movement_speed_pct; // 0x11e8 bool m_bAllowMovement; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff { public: int32_t bonus_mana; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t restore_chance; // 0x11ec float restore_amount; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff { public: int32_t proc_chance; // 0x11e8 int32_t mana_restore; // 0x11ec float mana_capacity_steal; // 0x11f0 float mana_capacity_duration; // 0x11f4 float shard_mana_duration; // 0x11f8 float scepter_barrier_threshold; // 0x11fc float scepter_barrier_duration; // 0x1200 float scepter_barrier_cooldown; // 0x1204 float scepter_max_mana_barrier_pct; // 0x1208 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff { public: float barrier_amt; // 0x11e8 int32_t m_nDamageAbsorbed; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff { public: int32_t shard_bonus_mana; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff { public: int32_t mana_steal; // 0x11e8 float m_flCurrentMana; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff { public: int32_t mana_steal; // 0x11e8 float m_flCurrentMana; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t attack_speed_slow; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t miss_chance; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 bool m_bIgniteActive; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: float m_flDamagePerTick; // 0x11f0 }; // Alignment: 13 // Size: 0x1220 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff { public: int32_t dodge_chance; // 0x11e8 int32_t crit_chance; // 0x11ec int32_t crit_multiplier; // 0x11f0 int32_t active_multiplier; // 0x11f4 int32_t stun_chance; // 0x11f8 float bash_cooldown; // 0x11fc float stun_duration; // 0x1200 float slow_duration; // 0x1204 int32_t bonus_move_speed; // 0x1208 int32_t bonus_status_resist; // 0x120c int32_t armor; // 0x1210 int32_t magic_resist; // 0x1214 float m_flLastBash; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 int32_t active_multiplier; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nFXIndexB; // 0x11ec int32_t min_movement; // 0x11f0 int32_t max_movement; // 0x11f4 int32_t m_iMovementBonus; // 0x11f8 GameTime_t m_flNextUpdateTime; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff { public: int32_t status_resistance; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff { public: int32_t bonus_brewling_hp; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11ec CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x11f0 CHandle< C_BaseEntity > m_hFourthTarget; // 0x11f4 CHandle< C_BaseEntity > m_hReturnBrewling; // 0x11f8 int32_t m_nFXIndex; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff { public: int32_t bonus_building_damage; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone { public: // No members available }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible { public: int32_t bonus_movement_speeed; // 0x11f8 int32_t bonus_damage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff { public: float cooldown_on_death; // 0x11e8 float cooldown_on_take_damage; // 0x11ec int32_t disable_distance; // 0x11f0 int32_t movement_slow_when_out_of_range; // 0x11f4 bool m_bCanAttack; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: ParticleIndex_t m_nFxIndex; // 0x11fc int32_t cooldown_penalty_pct; // 0x1200 int32_t bonus_brewling_hp; // 0x1204 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff { public: int32_t pull_distance; // 0x11e8 int32_t damage; // 0x11ec float pull_duration; // 0x11f0 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff { public: int32_t lifesteal_percent; // 0x11e8 int32_t lifesteal_range; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff { public: int32_t attack_range; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff { public: float m_flNextSpawn; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff { public: int32_t bash_chance; // 0x11e8 float bash_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff { public: CountdownTimer m_CooldownTimer; // 0x11e8 int32_t maim_chance; // 0x1200 float maim_duration; // 0x1204 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff { public: int32_t maim_movement_speed; // 0x11e8 int32_t maim_attack_speed; // 0x11ec int32_t maim_damage; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff { public: int32_t attack_damage_reduction; // 0x11e8 int32_t total_attack_damage_reduction; // 0x11ec int32_t armor; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff { public: int32_t bonus_hp_regen; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff { public: int32_t bonus_night_vision; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec int32_t m_iOriginalAttackCapability; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff { public: int32_t speed; // 0x11e8 int32_t crit_chance; // 0x11ec int32_t crit_multiplier; // 0x11f0 int32_t health_bonus; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff { public: float m_flHealth; // 0x11e8 float m_flDisseminate_Duration; // 0x11ec CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff { public: int32_t actual_health_lost; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff { public: int32_t num_heroes; // 0x11e8 int32_t bonus_spell_amp; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff { public: CHandle< C_BaseEntity > hTarget; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: float stack_damage; // 0x11e8 float bonus_stack_damage; // 0x11ec int32_t max_multiply_stacks; // 0x11f0 ParticleIndex_t m_nFXStackIndex; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff { public: int32_t damage_reflection_pct; // 0x11e8 int32_t radius; // 0x11ec GameTime_t m_flLastDispersionPulseEffectTime; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff { public: bool m_bCanBeResummoned; // 0x11e8 bool m_bCanAttack; // 0x11e9 private: [[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea public: ParticleIndex_t m_nFxIndex; // 0x11ec ParticleIndex_t m_nStatusFxIndex; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff { public: int32_t damage_share; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff { public: int32_t attack_amp; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff { public: int32_t entangle_chance; // 0x11e8 int32_t hero_entangle_chance; // 0x11ec float hero_duration; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff { public: int32_t m_iEntangleDamage; // 0x11e8 float interval_rate; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff { public: int32_t bonus_building_damage; // 0x11e8 int32_t true_form_bonus_building_damage; // 0x11ec int32_t spell_resistance; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff { public: int32_t shard_movement_speed_pct; // 0x11e8 int32_t shard_attack_speed; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t lifesteal_percent; // 0x11ec int32_t armor; // 0x11f0 int32_t armor_sharing; // 0x11f4 CHandle< C_BaseEntity > m_hTarget; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 int32_t bonus_hp; // 0x11ec float base_attack_time; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear { public: int32_t bonus_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff { public: float creep_multiplier; // 0x11e8 float creep_lifesteal_reduction_pct; // 0x11ec int32_t crit_min; // 0x11f0 int32_t crit_max; // 0x11f4 int32_t lifesteal; // 0x11f8 float chance; // 0x11fc int32_t m_nNextCrit; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff { public: int32_t maim_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff { public: int32_t m_nHandle; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff { public: float respawn; // 0x11e8 float magic_resist; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff { public: int32_t damage_share_percentage; // 0x11e8 int32_t damage_share_radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff { public: int32_t health_steal_heroes; // 0x11e8 int32_t health_steal_creeps; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float m_flOffset; // 0x11ec QAngle m_vStartAngles; // 0x11f0 Vector m_vStartLocation; // 0x11fc float animation_rate; // 0x1208 bool m_bInterrupted; // 0x120c bool m_bHasBeenDestroyed; // 0x120d bool m_bIsHighestMeepo; // 0x120e }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff { public: int32_t base_strength; // 0x11e8 int32_t base_int; // 0x11ec int32_t base_agi; // 0x11f0 int32_t stats_pct; // 0x11f4 CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t hp_restore; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1218 class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff { public: float creation_interval; // 0x11e8 float vines_duration; // 0x11ec int32_t vine_spawn_interval; // 0x11f0 Vector m_vInitialLoc; // 0x11f4 Vector m_vFinalLoc; // 0x1200 int32_t m_iVineCount; // 0x120c int32_t m_iVinesIndex; // 0x1210 bool m_bFoundTree; // 0x1214 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff { public: int32_t latch_range; // 0x11e8 int32_t latch_vision; // 0x11ec float initial_latch_delay; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x8]; // 0x11f4 public: bool m_bBonus; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t damage_per_second; // 0x11ec float tick_interval; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff { public: GameTime_t flStartTime; // 0x11e8 }; // Alignment: 3 // Size: 0x1230 class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff { public: CountdownTimer m_RevealTimer; // 0x11e8 CountdownTimer m_InvisAttackTimer; // 0x1200 CountdownTimer m_CooldownTimer; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: int32_t movement_bonus; // 0x11e8 int32_t regen_amp; // 0x11ec }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff { public: float m_flEntangleDamage; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff { public: float damage_interval; // 0x11e8 int32_t leech_damage; // 0x11ec int32_t movement_slow; // 0x11f0 int32_t radius; // 0x11f4 int32_t projectile_speed; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff { public: int32_t heal_per_second; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t mute; // 0x11ec bool bPurgable; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff { public: CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 float multicast_delay; // 0x11ec int32_t m_nMultiCastCount; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff { public: int32_t slow_movement_speed_pct; // 0x11e8 int32_t burn_damage; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff { public: CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 float multicast_delay; // 0x11ec int32_t m_nMultiCastCount; // 0x11f0 int32_t ignite_multicast_aoe; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_movement_speed; // 0x11ec int32_t self_bonus; // 0x11f0 float modelscale; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t attacks; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff { public: float mana_per_str; // 0x11e8 float mana_regen_per_str; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float health_threshold_pct; // 0x11ec float duration; // 0x11f0 CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11f4 CHandle< C_BaseEntity > m_hChaseUnit; // 0x11f8 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff { public: float shard_buff_duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff { public: int32_t str_steal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff { public: int32_t str_steal; // 0x11e8 int32_t str_scale_up; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 float m_flDecrementTime; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff { public: int32_t bonus_move_speed; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff { public: float bunker_heal_pct; // 0x11e8 float tombstone_grab_radius; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float zombie_interval; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff { public: int32_t tombstone_health; // 0x11e8 int32_t zombie_damage_interval; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff { public: int32_t str_percentage; // 0x11e8 int32_t movement_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff { public: int32_t damage_amp; // 0x11e8 int32_t slow; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t damage; // 0x11ec float tick_rate; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff { public: // No members available }; // Alignment: 10 // Size: 0x1220 class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff { public: GameTime_t m_fStartTime; // 0x11e8 GameTime_t m_fEndTime; // 0x11ec float m_fTargetHeight; // 0x11f0 float m_fCurHeight; // 0x11f4 Vector m_vStartLoc; // 0x11f8 Vector m_vCurLoc; // 0x1204 int32_t max_land_distance; // 0x1210 float fall_duration; // 0x1214 bool m_bOverrideDuration; // 0x1218 private: [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: float m_flOverrideDuration; // 0x121c }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage; // 0x11ec int32_t jump_damage_reduction_pct; // 0x11f0 float jump_delay; // 0x11f4 int32_t m_iCurJumpCount; // 0x11f8 Vector m_vCurTargetLoc; // 0x11fc CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff { public: int32_t attack_damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff { public: int32_t attack_damage_bonus; // 0x11e8 int32_t attack_damage_reduction; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff { public: int32_t magic_damage_reduction_pct; // 0x11e8 bool m_bWasHidden; // 0x11ec }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff { public: CUtlString m_strActivityModifier; // 0x11e8 int32_t stolen_debuff_amp; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff { public: int32_t cast_range; // 0x11e8 int32_t spell_amp; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff { public: float strike_interval; // 0x11e8 int32_t radius; // 0x11ec float strike_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff { public: int32_t slow_amount; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff { public: int32_t shard_movement_speed_bonus; // 0x11e8 int32_t shard_attack_speed_bonus; // 0x11ec }; // Alignment: 1 // Size: 0x12c0 class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff { public: Vector m_PositionIndex[18]; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff { public: Vector m_vStartLoc; // 0x11e8 CHandle< C_BaseEntity > m_hEntity; // 0x11f4 float m_flDistance; // 0x11f8 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float formation_time; // 0x11ec bool m_bActive; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0xb]; // 0x11f1 public: int32_t m_nFXIndex; // 0x11fc }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff { public: int32_t radius; // 0x11e8 Vector m_vOriginLoc; // 0x11ec bool m_bTruesight; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: float damage_per_second; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff { public: int32_t m_nCurrentPulse; // 0x11e8 int32_t radius; // 0x11ec int32_t damage_max; // 0x11f0 int32_t pulses; // 0x11f4 float duration; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 int32_t movement_speed_reduction; // 0x11ec int32_t attack_speed_reduction; // 0x11f0 bool m_bHasScepter; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff { public: int32_t impale_damage; // 0x11e8 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible { public: float health_regen_rate; // 0x11f8 float mana_regen_rate; // 0x11fc int32_t damage_reduction; // 0x1200 Vector m_vecInitialPos; // 0x1204 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff { public: float stun_duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x11f0 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible { public: int32_t bonus_damage; // 0x11f8 int32_t movement_speed; // 0x11fc int32_t shard_movement_speed_bonus; // 0x1200 int32_t mana_removal_pct; // 0x1204 bool m_bFreePathing; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff { public: int32_t shard_magic_resist_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1200 class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff { public: int32_t resist_debuff; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff { public: int32_t chance; // 0x11e8 int32_t crit; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t m_nAffectedEnemies; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff { public: float animation_rate; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t m_nAffectedAllies; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff { public: int32_t heal_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff { public: float pull_strength; // 0x11e8 int32_t min_pull_distance; // 0x11ec GameTime_t m_flLastThinkTime; // 0x11f0 }; // Alignment: 10 // Size: 0x1220 class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff { public: int32_t range; // 0x11e8 int32_t total_damage; // 0x11ec int32_t radius; // 0x11f0 int32_t channel_vision_radius; // 0x11f4 float channel_vision_interval; // 0x11f8 float channel_vision_duration; // 0x11fc int32_t channel_vision_step; // 0x1200 GameTime_t m_flLastChantTime; // 0x1204 Vector m_vNextVisionLocation; // 0x1208 Vector m_vCastDirection; // 0x1214 }; // Alignment: 21 // Size: 0x1268 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff { public: int32_t range; // 0x11e8 int32_t vision_radius; // 0x11ec int32_t radius; // 0x11f0 int32_t total_damage; // 0x11f4 float max_channel_time; // 0x11f8 float speed; // 0x11fc float vision_duration; // 0x1200 int32_t channel_vision_radius; // 0x1204 float channel_vision_interval; // 0x1208 float channel_vision_duration; // 0x120c int32_t channel_vision_step; // 0x1210 Vector m_vCastLoc; // 0x1214 Vector m_vTargetLoc; // 0x1220 GameTime_t m_fStartTime; // 0x122c float m_fPower; // 0x1230 QAngle m_qCastAngle; // 0x1234 int32_t m_iProjectile; // 0x1240 ParticleIndex_t m_nFXIndex; // 0x1244 ParticleIndex_t m_nFXIndexB; // 0x1248 Vector m_vNextVisionLocation; // 0x124c Vector m_vCastDirection; // 0x1258 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff { public: float mana_leak_pct; // 0x11e8 Vector vLastPos; // 0x11ec bool bResetPosition; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: float m_fAccumulatedManaLeak; // 0x11fc }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff { public: float slow; // 0x11e8 int32_t magic_resistance; // 0x11ec Vector vLastPos; // 0x11f0 bool bResetPosition; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_fAccumulatedDistance; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1204 ParticleIndex_t m_nStatusFXIndex; // 0x1208 }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float off_duration; // 0x11ec float off_duration_initial; // 0x11f0 float on_duration; // 0x11f4 int32_t hit_count; // 0x11f8 int32_t m_iAttackCount; // 0x11fc GameTime_t m_flNextTimeOn; // 0x1200 bool m_bActive; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: ParticleIndex_t m_nFXIndex; // 0x1208 ParticleIndex_t m_nFXIndexB; // 0x120c GameTime_t m_flNextTime; // 0x1210 float m_flCorrectionTime; // 0x1214 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff { public: int32_t fixed_movement_speed; // 0x11e8 Vector m_vSource; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndexA; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t cast_range; // 0x11f0 bool m_bDidSwapSpiritForm; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff { public: bool m_bWasAttacked; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 CHandle< C_BaseEntity > hCurrentEntity; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff { public: float shard_bonus_spell_lifesteal; // 0x11e8 }; // Alignment: 14 // Size: 0x1238 class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff { public: bool m_bInManaGained; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: CHandle< C_BaseEntity > m_hTarget; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11f0 float stun_duration; // 0x1208 int32_t movespeed; // 0x120c int32_t self_bonus; // 0x1210 bool m_bIsInRange; // 0x1214 private: [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 public: int32_t radius; // 0x1218 int32_t latch_distance; // 0x121c float m_flHealthHealed; // 0x1220 float m_flManaHealed; // 0x1224 float tether_heal_amp; // 0x1228 GameTime_t m_flHealMessageTime; // 0x122c GameTime_t m_flManaMessageTime; // 0x1230 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff { public: float movespeed; // 0x11e8 float shard_bonus_spell_lifesteal; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 14 // Size: 0x12b8 class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff { public: int32_t creep_damage; // 0x11e8 int32_t hero_damage; // 0x11ec int32_t hit_radius; // 0x11f0 int32_t hero_hit_radius; // 0x11f4 int32_t explode_radius; // 0x11f8 int32_t min_range; // 0x11fc int32_t max_range; // 0x1200 int32_t default_radius; // 0x1204 int32_t spirit_amount; // 0x1208 float m_flRotation; // 0x120c float m_flSpiritRadius; // 0x1210 int32_t spirit_movement_rate; // 0x1214 GameTime_t m_flNextSpawn; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlString m_strSpiritsOutSwapAbility; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff { public: int32_t scepter_slow_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_spell_amp; // 0x11ec int32_t shard_bonus_spell_amp; // 0x11f0 float hp_regen; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff { public: float cast_delay; // 0x11e8 ParticleIndex_t m_nFXIndexEndTeam; // 0x11ec ParticleIndex_t m_nFXIndexChannel; // 0x11f0 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 Vector m_vecReturnPosition; // 0x11ec float return_time; // 0x11f8 ParticleIndex_t m_nFXTimeRemaining; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff { public: int32_t movespeed_bonus; // 0x11e8 int32_t attackspeed_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff { public: int32_t movespeed_bonus; // 0x11e8 int32_t attackspeed_bonus; // 0x11ec }; // Alignment: 10 // Size: 0x1230 class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t stack_limit; // 0x11ec int32_t damage_limit; // 0x11f0 float stack_duration; // 0x11f4 float damage_min; // 0x11f8 float damage_max; // 0x11fc ParticleIndex_t m_nFxIndexA; // 0x1200 ParticleIndex_t m_nFxIndexB; // 0x1204 int32_t iCur_stack; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x1c]; // 0x120c public: float m_fTotalDamage; // 0x1228 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff { public: bool m_bIsRecovering; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t m_nFXIndex[4]; // 0x11ec }; // Alignment: 9 // Size: 0x1230 class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t max_layers; // 0x11ec float minimum_damage; // 0x11f0 int32_t recovery_time; // 0x11f4 int32_t radius; // 0x11f8 int32_t max_damage_reduction; // 0x11fc ParticleIndex_t m_nFXIndex[4]; // 0x1200 ParticleIndex_t m_nFXIndexB; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1218 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff { public: int32_t familiar_speed; // 0x11e8 int32_t m_nFXIndex; // 0x11ec int32_t m_nFXIndexB; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CountdownTimer m_ctTimer; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff { public: int32_t stun_radius; // 0x11e8 int32_t stun_damage; // 0x11ec float stun_delay; // 0x11f0 float stun_duration; // 0x11f4 float stone_duration; // 0x11f8 int32_t m_iIntervalCount; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff { public: float hp_regen; // 0x11e8 int32_t stun_radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff { public: GameTime_t m_flReadyTime; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff { public: float stone_duration; // 0x11e8 GameTime_t m_fStartTime; // 0x11ec }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible { public: bool m_bHasMadeAttack; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base { public: int32_t agi_gain; // 0x11e8 float duration; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t total_damage; // 0x11ec int32_t total_pulses; // 0x11f0 int32_t self_damage_pct; // 0x11f4 float pulse_interval; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff { public: int32_t pounce_distance; // 0x11e8 int32_t pounce_distance_scepter; // 0x11ec float pounce_speed; // 0x11f0 float pounce_acceleration; // 0x11f4 int32_t pounce_radius; // 0x11f8 int32_t pounce_damage; // 0x11fc float leash_duration; // 0x1200 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff { public: int32_t leash_radius; // 0x11e8 Vector vLeashLocation; // 0x11ec bool m_bEscaped; // 0x11f8 bool m_bFishBait; // 0x11f9 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: int32_t stat_loss; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff { public: int32_t scepter_aoe; // 0x11e8 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff { public: float activation_delay; // 0x11e8 float neutral_disable; // 0x11ec bool m_bPendingRefresh; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: GameTime_t m_fPendingStateChangeTime; // 0x11f4 CountdownTimer m_NeutralHitTimer; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 float bonus_regen; // 0x11ec }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible { public: CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff { public: bool m_bScepter; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible { public: ParticleIndex_t m_nFXIndex; // 0x11f8 int32_t bonus_movement_speed; // 0x11fc float bonus_regen; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 }; // Alignment: 5 // Size: 0x1238 class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff { public: int32_t damage_modifier; // 0x11e8 int32_t range; // 0x11ec int32_t arrow_count; // 0x11f0 int32_t projectile_speed; // 0x11f4 ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t turn_slow; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff { public: int32_t bonus_mana; // 0x11e8 float absorption_pct; // 0x11ec float damage_per_mana; // 0x11f0 float illusion_damage_per_mana; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff { public: int32_t m_nNumStoned; // 0x11e8 bool m_bAnyInvisible; // 0x11ec }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float vision_cone; // 0x11ec float duration; // 0x11f0 int32_t speed_boost; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff { public: float face_duration; // 0x11e8 float stone_duration; // 0x11ec float duration; // 0x11f0 float vision_cone; // 0x11f4 float m_flAccumulatedTime; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CountdownTimer ctFacing; // 0x1200 bool m_bAlreadyStoned; // 0x1218 private: [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: ParticleIndex_t m_nFXIndex; // 0x121c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff { public: int32_t bonus_physical_damage; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t status_resistance; // 0x11ec }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff { public: int32_t bonus_move_speed; // 0x11e8 int32_t bonus_range; // 0x11ec int32_t bonus_hp; // 0x11f0 int32_t bonus_armor; // 0x11f4 int32_t ensnare_chance; // 0x11f8 float ensnare_duration; // 0x11fc float base_attack_time; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff { public: int32_t maim_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 16 // Size: 0x1258 class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t hit_radius; // 0x11ec int32_t axe_movement_speed; // 0x11f0 float whirl_duration; // 0x11f4 float max_range; // 0x11f8 float blind_duration; // 0x11fc float m_flRotation; // 0x1200 float m_flAxeRadius; // 0x1204 GameTime_t m_flDieTime; // 0x1208 float m_bPiercesMagicImmunity; // 0x120c int32_t m_nSwapIndex; // 0x1210 bool m_bReturning; // 0x1214 private: [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 public: ParticleIndex_t m_nAxeFXIndex[2]; // 0x1218 int32_t m_nHeroesHitForRelic; // 0x1220 private: [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 public: CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1228 CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1240 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff { public: int32_t blind_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t max_stacks; // 0x11ec CHandle< C_BaseEntity > m_hUnit; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t lifesteal; // 0x11f0 CHandle< C_BaseEntity > m_hTarget; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff { public: int32_t shard_movement_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff { public: int32_t shard_str_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff { public: int32_t return_damage; // 0x11e8 int32_t return_damage_str; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff { public: float damage_gain_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff { public: int32_t cast_time_increase; // 0x11e8 int32_t slow_movement_speed; // 0x11ec }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage_reduction; // 0x11ec int32_t has_flying_movement; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8 }; // Alignment: 6 // Size: 0x1210 class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hUnit; // 0x11e8 bool m_bWasMoving; // 0x11ec bool m_bSpawnDone; // 0x11ed private: [[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee public: Vector m_vecOldForward; // 0x11f0 int32_t break_distance; // 0x11fc Vector m_vecPreviousLocation; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff { public: int32_t melee_attack_range; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff { public: int32_t horn_toss_slow_pct; // 0x11e8 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff { public: int32_t scepter_width; // 0x11e8 float scepter_duration; // 0x11ec bool play_particle; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: Vector m_vStart; // 0x11f4 Vector m_vEnd; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff { public: int32_t scepter_slow_pct; // 0x11e8 int32_t scepter_armor_pct; // 0x11ec }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff { public: Vector m_vDirection; // 0x11e8 float m_flEndTime; // 0x11f4 float m_flCurTime; // 0x11f8 float pull_duration; // 0x11fc float effective_distance; // 0x1200 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff { public: int32_t bonus_damage_pct; // 0x11e8 float cleave_damage_pct; // 0x11ec int32_t cleave_starting_width; // 0x11f0 int32_t cleave_ending_width; // 0x11f4 int32_t cleave_distance; // 0x11f8 float self_multiplier; // 0x11fc int32_t secondary_cleave_distance; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff { public: float slow_duration; // 0x11e8 int32_t skewer_damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff { public: int32_t stats_per_stack; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff { public: int32_t strength_per_stack; // 0x11e8 int32_t max_stacks; // 0x11ec float stack_duration; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff { public: int32_t stat_loss_pct; // 0x11e8 int32_t stat_loss_univ; // 0x11ec int32_t iPrimaryAttribute; // 0x11f0 float flStatLossStr; // 0x11f4 float flStatLossAgi; // 0x11f8 float flStatLossInt; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff { public: int32_t speed; // 0x11e8 int32_t radius; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff { public: float initial_shield; // 0x11e8 float max_shield; // 0x11ec float shield_per_sec; // 0x11f0 float shield_per_sec_per_enemy; // 0x11f4 float duration; // 0x11f8 float base_explosion; // 0x11fc int32_t radius; // 0x1200 int32_t explosion_radius; // 0x1204 int32_t m_nDamageAbsorbed; // 0x1208 GameTime_t m_timeLastTick; // 0x120c GameTime_t m_StartTime; // 0x1210 int32_t m_nLastParticleTime; // 0x1214 }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff { public: int32_t stack_limit; // 0x11e8 float stack_duration; // 0x11ec GameTime_t m_flStackDieTime; // 0x11f0 ParticleIndex_t m_pFXIndex[4]; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff { public: float bonus_armor; // 0x11e8 float bonus_hp_regen; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 float mana_per_second; // 0x11ec float radius; // 0x11f0 float break_distance; // 0x11f4 float damage_interval; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t slow_health_percentage; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff { public: CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11e8 bool m_bCleanupWhenEmpty; // 0x1200 }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff { public: int32_t length; // 0x11e8 int32_t width; // 0x11ec int32_t damage_per_second; // 0x11f0 ParticleIndex_t m_nBeamFXIndex; // 0x11f4 CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f8 GameTime_t m_flLastHit; // 0x11fc CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x1200 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nActiveFXIndex; // 0x11ec ParticleIndex_t m_nActiveStatusFXIndex; // 0x11f0 float damage_per_second; // 0x11f4 int32_t building_dmg_pct; // 0x11f8 int32_t move_slow_pct; // 0x11fc }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff { public: int32_t damage_per_stack; // 0x11e8 int32_t move_speed_per_stack; // 0x11ec int32_t max_stacks; // 0x11f0 float stack_duration; // 0x11f4 float m_flDuration; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff { public: float base_armor; // 0x11e8 float armor_per_stack; // 0x11ec int32_t base_move_slow; // 0x11f0 int32_t move_slow_per_stack; // 0x11f4 int32_t stack_limit; // 0x11f8 ParticleIndex_t m_nFXStackIndex; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1228 class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 CountdownTimer m_ViewerTimer; // 0x1208 int32_t projectile_speed; // 0x1220 int32_t radius; // 0x1224 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff { public: // No members available }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff { public: int32_t side_damage_reduction; // 0x11e8 int32_t back_damage_reduction; // 0x11ec int32_t side_angle; // 0x11f0 int32_t back_angle; // 0x11f4 float quill_release_threshold; // 0x11f8 float quill_release_interval; // 0x11fc bool m_bRearHit; // 0x1200 bool m_bSideHit; // 0x1201 private: [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 public: float m_flDamageAccumulated; // 0x1204 int32_t m_nAccumulatedHits; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff { public: int32_t sigil_radius; // 0x11e8 ParticleIndex_t m_iIndex; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff { public: int32_t aghs_shard_move_slow; // 0x11e8 int32_t aghs_shard_damage; // 0x11ec int32_t attack_slow; // 0x11f0 int32_t turn_rate_slow; // 0x11f4 }; // Alignment: 8 // Size: 0x1228 class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff { public: int32_t crit_multiplier; // 0x11e8 float air_time; // 0x11ec float slow_duration; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8 CHandle< C_BaseEntity > m_hTarget; // 0x1200 bool m_bWalrusPunch; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 ParticleIndex_t m_nFXIndex; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff { public: ParticleIndex_t m_iIndex; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 float slow_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff { public: float stack_duration; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff { public: int32_t bonus_intelligence; // 0x11e8 float bonus_armor; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff { public: int32_t bonus_intelligence; // 0x11e8 float bonus_armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff { public: float lifesteal_amt; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff { public: int32_t resist_debuff; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage; // 0x11ec float duration; // 0x11f0 float damage_interval; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float damage_absorb; // 0x11ec int32_t m_nDamageAbsorbed; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff { public: float slow_duration; // 0x11e8 float curse_duration; // 0x11ec int32_t hit_count; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 ParticleIndex_t m_nFXStackIndex; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff { public: int32_t curse_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff { public: int32_t curse_attack_speed; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff { public: int32_t redirect_range_scepter; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff { public: float m_fDamageTaken; // 0x11e8 int32_t ally_threshold_scepter; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff { public: int32_t immolate_aoe; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff { public: float immolate_damage; // 0x11e8 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff { public: int32_t pass_damage; // 0x11e8 int32_t radius; // 0x11ec int32_t m_nCreepsHit; // 0x11f0 int32_t m_nHeroesHit; // 0x11f4 float m_flSpeed; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x1200 int32_t m_nBonusMoveSpeed; // 0x1218 }; // Alignment: 13 // Size: 0x1220 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff { public: float move_pct_creeps; // 0x11e8 int32_t move_pct_heroes; // 0x11ec int32_t damage_creeps; // 0x11f0 int32_t damage_heroes; // 0x11f4 float armor_creeps; // 0x11f8 float armor_heroes; // 0x11fc float move_pct_cap; // 0x1200 int32_t m_nCreepsHit; // 0x1204 int32_t m_nHeroesHit; // 0x1208 float m_fSpeedPercentage; // 0x120c int32_t m_nDamage; // 0x1210 int32_t m_nArmor; // 0x1214 bool m_bSpellImmunity; // 0x1218 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune { public: int32_t model_scale; // 0x11e8 }; // Alignment: 5 // Size: 0x1218 class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff { public: int32_t wake_damage_limit; // 0x11e8 float animation_rate; // 0x11ec float initial_stun_duration; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CountdownTimer ctStunTimer; // 0x11f8 float m_flDamageTaken; // 0x1210 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff { public: int32_t armor_reduction_pct; // 0x11e8 float m_flArmorReduction; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff { public: int32_t magic_resistance_pct; // 0x11e8 }; // Alignment: 11 // Size: 0x1248 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11e8 int32_t vision_width; // 0x1200 float vision_interval; // 0x1204 float vision_duration; // 0x1208 int32_t vision_step; // 0x120c int32_t total_steps; // 0x1210 int32_t m_nCompletedSteps; // 0x1214 Vector m_vStart; // 0x1218 Vector m_vEnd; // 0x1224 Vector m_vNextVisionLocation; // 0x1230 Vector m_vCastDirection; // 0x123c }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff { public: int32_t crack_width; // 0x11e8 int32_t damage_pct; // 0x11ec float slow_duration; // 0x11f0 float slow_duration_scepter; // 0x11f4 CDOTA_Buff* m_pParentModifier; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff { public: int32_t bonus_attack_speed_creeps; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec float armor_per_creep; // 0x11f0 float armor_per_hero; // 0x11f4 int32_t m_nTotalBonus; // 0x11f8 float m_flBonusArmor; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune { public: int32_t model_scale; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff { public: int32_t move_speed; // 0x11e8 int32_t hp_regen; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff { public: int32_t trigger_chance; // 0x11e8 float buff_duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff { public: int32_t hp_leech_percent; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff { public: int32_t bonus_armor_per_hero; // 0x11e8 int32_t bonus_damage_per_hero; // 0x11ec int32_t lifesteal_per_hero; // 0x11f0 int32_t scepter_damage_reduction_pct; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff { public: int32_t m_nSuicideKillCount; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t bonus_ms; // 0x11f0 int32_t stun_radius; // 0x11f4 float stun_duration; // 0x11f8 int32_t damage_percent; // 0x11fc int32_t m_nDamageRemaining; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff { public: int32_t acceleration; // 0x11e8 int32_t m_nTeamNumber; // 0x11ec float speed; // 0x11f0 float pre_chase_time; // 0x11f4 CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f8 Vector m_vStartPosition; // 0x11fc CountdownTimer m_MoveTime; // 0x1208 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff { public: Vector m_vLastLoc; // 0x11e8 CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff { public: int32_t secondary_slow; // 0x11e8 }; // Alignment: 8 // Size: 0x1230 class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 float proximity_threshold; // 0x11fc float damage; // 0x1200 float activation_delay; // 0x1204 float outer_damage; // 0x1208 int32_t min_distance; // 0x120c bool bActivated; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 public: CountdownTimer m_Timer; // 0x1218 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff { public: int32_t mres_reduction; // 0x11e8 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible { public: int32_t activation_radius; // 0x11f8 int32_t stun_radius; // 0x11fc float stun_duration; // 0x1200 float explode_delay; // 0x1204 float activation_time; // 0x1208 bool m_bActivated; // 0x120c bool m_bTriggered; // 0x120d }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1218 class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible { public: int32_t radius; // 0x11f8 int32_t damage; // 0x11fc int32_t radius_scepter; // 0x1200 int32_t damage_scepter; // 0x1204 int32_t vision_radius; // 0x1208 float vision_duration; // 0x120c int32_t model_scale; // 0x1210 bool bExploding; // 0x1214 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float trigger_radius; // 0x11ec float minefield_duration; // 0x11f0 bool m_bTriggered; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float minefield_duration; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff { public: float aura_radius; // 0x11e8 float scepter_move_damage; // 0x11ec float scepter_move_amt; // 0x11f0 float minefield_duration; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 float tick_interval; // 0x11ec float tick_damage; // 0x11f0 float duration; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff { public: int32_t bonus_hero_damage; // 0x11e8 int32_t creep_damage_penalty; // 0x11ec int32_t radius; // 0x11f0 float attack_interval; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff { public: int32_t absorb_amount; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t radius; // 0x11f0 float tick_interval; // 0x11f4 int32_t shield_pct_absorb; // 0x11f8 int32_t m_nAbsorbRemaining; // 0x11fc float m_flShowParticleInterval; // 0x1200 bool m_bDestroy; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff { public: int32_t blind_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 3 // Size: 0x1220 class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x11e8 CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x1200 int32_t shard_charge_radius; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff { public: int32_t m_nProjectileHandle; // 0x11e8 bool m_bIsShardRemnant; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff { public: int32_t shard_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff { public: int32_t shard_damage_per_second; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff { public: Vector m_vDir; // 0x11e8 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff { public: CNewParticleEffect* m_pVisionRangeFX; // 0x11e8 int32_t vision_radius; // 0x11f0 bool m_bHasBeenMagnetized; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: ParticleIndex_t m_nFXIndex; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff { public: bool m_bInterrupted; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t m_nProjectileID; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence { public: // No members available }; // Alignment: 10 // Size: 0x1238 class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t rock_damage; // 0x11ec float pull_units_per_second; // 0x11f0 float pull_units_per_second_heroes; // 0x11f4 float total_pull_distance; // 0x11f8 float duration; // 0x11fc bool m_bUsedStone; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: Vector m_vDestination; // 0x1204 Vector m_vLocation; // 0x1210 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1220 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 bool m_bHasBeenMagnetized; // 0x11ec }; // Alignment: 10 // Size: 0x1228 class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff { public: int32_t rock_search_radius; // 0x11e8 int32_t damage_per_second; // 0x11ec float damage_interval; // 0x11f0 float rock_explosion_delay; // 0x11f4 float damage_duration; // 0x11f8 int32_t cast_radius; // 0x11fc int32_t rock_explosion_radius; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x1208 float duration; // 0x1220 bool m_bShowOverhead; // 0x1224 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 float damage_interval; // 0x11ec float damage_duration; // 0x11f0 int32_t rock_search_radius; // 0x11f4 CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff { public: int32_t wave_damage; // 0x11e8 int32_t wave_count; // 0x11ec int32_t radius; // 0x11f0 float wave_interval; // 0x11f4 float burn_duration; // 0x11f8 float burn_interval; // 0x11fc float first_wave_delay; // 0x1200 float building_damage; // 0x1204 CHandle< C_BaseEntity > m_hTarget; // 0x1208 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff { public: float burn_damage; // 0x11e8 float burn_interval; // 0x11ec float building_damage; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff { public: int32_t pit_damage; // 0x11e8 int32_t radius; // 0x11ec float pit_interval; // 0x11f0 float ensnare_duration; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff { public: int32_t damage_reduction_pct; // 0x11e8 float bonus_damage_duration; // 0x11ec int32_t bonus_damage_from_creep; // 0x11f0 int32_t bonus_damage_from_hero; // 0x11f4 bool m_bWasHidden; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff { public: int32_t bonus_damage_from_hero; // 0x11e8 float bonus_shared_by_allies_pct; // 0x11ec float m_flModifier; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff { public: int32_t bonus_damage_from_creep; // 0x11e8 float bonus_shared_by_allies_pct; // 0x11ec float m_flModifier; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff { public: int32_t bonus_damage_from_creep; // 0x11e8 }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff { public: ParticleIndex_t m_nfxTargetTp; // 0x11e8 int32_t radius; // 0x11ec int32_t duration; // 0x11f0 ParticleIndex_t m_nfxAmbientFx; // 0x11f4 bool bPointTarget; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: Vector vDestination; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff { public: int32_t scepter_health_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff { public: ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 float m_fPortalRadius; // 0x11ec }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: ParticleIndex_t m_nfxTargetTp; // 0x11e8 ParticleIndex_t m_nfxTargetTp2; // 0x11ec ParticleIndex_t m_nfxAmbientFx; // 0x11f0 ParticleIndex_t m_nfxPortal1; // 0x11f4 ParticleIndex_t m_nfxPortal2; // 0x11f8 float animation_rate; // 0x11fc int32_t stop_distance; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 int32_t bonus_ms; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable { public: CHandle< C_BaseEntity > hTarget; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 int32_t attack_slow; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff { public: int32_t berserk_bonus_attack_speed; // 0x11e8 int32_t berserk_bonus_movement_speed; // 0x11ec int32_t melee_bonus; // 0x11f0 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff { public: Vector m_vOriginal; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff { public: // No members available }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff { public: float base_attack_time; // 0x11e8 int32_t bonus_range; // 0x11ec int32_t m_iOriginalAttackCapabilities; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t speed_loss; // 0x11f8 int32_t attack_projectile_speed_bonus; // 0x11fc CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x1208 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 int32_t scepter_speed; // 0x1210 int32_t scepter_radius; // 0x1214 bool m_bFirstThink; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff { public: bool m_bFrozen; // 0x11e8 bool m_bFlail; // 0x11e9 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff { public: // No members available }; // Alignment: 21 // Size: 0x1258 class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff { public: int32_t hp_cost_perc_per_second; // 0x11e8 int32_t beam_range; // 0x11ec int32_t base_damage; // 0x11f0 int32_t base_heal; // 0x11f4 float tick_interval; // 0x11f8 float forward_move_speed; // 0x11fc float turn_rate_initial; // 0x1200 float turn_rate; // 0x1204 int32_t radius; // 0x1208 float m_flCurrentTime; // 0x120c float m_flAccumulatedSelfDamage; // 0x1210 bool m_bMovingForward; // 0x1214 bool m_bTurningFast; // 0x1215 private: [[maybe_unused]] uint8_t __pad1216[0x2]; // 0x1216 public: float m_flFacingTarget; // 0x1218 float hp_perc_damage; // 0x121c float hp_perc_heal; // 0x1220 ParticleIndex_t m_nBeamFXIndex; // 0x1224 CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1228 CHandle< C_BaseEntity > m_hBeamEnd; // 0x1248 bool m_bCreatedVisionThinkers; // 0x124c private: [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d public: CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1250 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff { public: int32_t shard_move_slow_pct; // 0x11e8 }; // Alignment: 11 // Size: 0x1248 class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff { public: Vector m_vSource; // 0x11e8 Vector m_vTarget; // 0x11f4 Vector m_vDirection; // 0x1200 QAngle m_angDirection; // 0x120c float m_flCurrentTime; // 0x1218 int32_t dash_length; // 0x121c int32_t dash_width; // 0x1220 int32_t hit_radius; // 0x1224 float burn_duration; // 0x1228 float dive_duration; // 0x122c CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1230 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff { public: float burn_tick_interval; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t slow_movement_speed_pct; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff { public: float tick_interval; // 0x11e8 int32_t attackspeed_slow; // 0x11ec int32_t damage_per_second; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float stun_duration; // 0x11ec int32_t max_hero_attacks; // 0x11f0 int32_t max_hero_attacks_scepter; // 0x11f4 int32_t max_hero_attacks_required; // 0x11f8 CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11fc int32_t m_iAttackCount; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff { public: int32_t damage_per_sec; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff { public: float heal_per_second; // 0x11e8 float tick_rate; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility { public: float shard_spell_amp_bonus; // 0x11f8 float shard_bat_bonus; // 0x11fc }; // Alignment: 8 // Size: 0x1238 class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x30]; // 0x11e8 public: bool m_bWaitingForInvulnerability; // 0x1218 bool m_bDisableHealing; // 0x1219 private: [[maybe_unused]] uint8_t __pad121a[0x2]; // 0x121a public: float m_flHealthOnCreated; // 0x121c ParticleIndex_t m_nFXIndex; // 0x1220 ParticleIndex_t m_nFXIndexB; // 0x1224 float m_flRunningDmg; // 0x1228 float m_flRunningHealth; // 0x122c int32_t bonus_armor; // 0x1230 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff { public: float damage; // 0x11e8 int32_t radius; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff { public: int32_t heal_amp; // 0x11e8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff { public: float attack_point; // 0x11e8 int32_t attack_range_bonus; // 0x11ec int32_t projectile_speed_bonus; // 0x11f0 int32_t night_vision_bonus; // 0x11f4 int32_t movement_scepter; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlSymbolLarge m_iszRangedAttackEffect; // 0x1200 int32_t max_attacks; // 0x1208 int32_t m_iNumAttacks; // 0x120c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff { public: float percent_damage; // 0x11e8 int32_t move_slow; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff { public: int32_t bonus_movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t heal_additive; // 0x11f0 float heal_percentage; // 0x11f4 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_nAlliesTaunted; // 0x11ec bool m_bRelicTriggered; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t radius; // 0x11f4 int32_t damage_amplification; // 0x11f8 int32_t damage_reduction; // 0x11fc GameTime_t m_flLastSeen; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 }; // Alignment: 13 // Size: 0x1220 class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff { public: int32_t m_nCasterTeam; // 0x11e8 int32_t damage_per_second; // 0x11ec int32_t tempest_damage_per_second; // 0x11f0 int32_t search_radius; // 0x11f4 int32_t move_speed_slow_pct; // 0x11f8 int32_t tempest_move_speed_slow_pct; // 0x11fc int32_t status_resist; // 0x1200 float think_interval; // 0x1204 int32_t m_nCurrentMovementSlow; // 0x1208 int32_t m_nCurrentStatusResistance; // 0x120c bool m_bAlone; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: ParticleIndex_t m_nFXIndex; // 0x1214 bool m_bIsTempestVersion; // 0x1218 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t radius; // 0x11f0 Vector m_vPos; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff { public: int32_t evasion_chance; // 0x11e8 int32_t radius; // 0x11ec int32_t shard_magic_resist; // 0x11f0 int32_t shard_slow_pct; // 0x11f4 float aura_origin_x; // 0x11f8 float aura_origin_y; // 0x11fc }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t radius; // 0x11f0 Vector m_vPos; // 0x11f4 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff { public: int32_t attack_range_bonus; // 0x11e8 int32_t attack_magic_damage; // 0x11ec int32_t radius; // 0x11f0 int32_t shard_magic_resist; // 0x11f4 int32_t shard_slow_pct; // 0x11f8 float aura_origin_x; // 0x11fc float aura_origin_y; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff { public: int32_t attack_speed_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff { public: int32_t move_speed_slow_pct; // 0x11e8 }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t scepter_radius; // 0x11ec int32_t wraith_vision_radius; // 0x11f0 int32_t wraith_speed; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 public: float activation_delay; // 0x1200 float scepter_activation_delay; // 0x1204 float think_interval; // 0x1208 int32_t m_nSparkDamage; // 0x120c int32_t m_nViewerID; // 0x1210 bool m_bActive; // 0x1214 bool m_bOriginal; // 0x1215 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff { public: int32_t penalty_distance; // 0x11e8 int32_t attack_damage_penalty; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff { public: int32_t attack_damage_penalty; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hRune; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Banana : public CDOTA_Buff { public: int32_t slide_distance; // 0x11e8 int32_t radius; // 0x11ec float slide_duration; // 0x11f0 }; // Alignment: 11 // Size: 0x1238 class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff { public: Vector m_vCenter; // 0x11e8 int32_t knockback_distance; // 0x11f4 int32_t knockback_height; // 0x11f8 float knockback_duration; // 0x11fc Vector m_vHorizOffset; // 0x1200 Vector m_vStartPosition; // 0x120c Vector m_vDir; // 0x1218 float m_fCurrentTimeHoriz; // 0x1224 float m_fCurrentTimeVert; // 0x1228 bool m_bShouldStun; // 0x122c private: [[maybe_unused]] uint8_t __pad122d[0x3]; // 0x122d public: float flTimeSinceChange; // 0x1230 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff { public: int32_t strike_crit_mult; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff { public: float jump_damage_cooldown; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff { public: float give_up_distance; // 0x11e8 float ground_jump_distance; // 0x11ec float m_flZDelta; // 0x11f0 float perched_day_vision; // 0x11f4 float perched_night_vision; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff { public: float m_fAbilityRangePct; // 0x11e8 float m_bIsSpring; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff { public: int32_t impact_movement_slow; // 0x11e8 int32_t m_nSlowPct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff { public: float leap_speed; // 0x11e8 float give_up_distance; // 0x11ec float attackspeed_duration; // 0x11f0 float m_flOriginalZDelta; // 0x11f4 float m_flZDelta; // 0x11f8 }; // Alignment: 15 // Size: 0x1230 class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff { public: CUtlString m_strDisguise; // 0x11e8 int32_t movespeed; // 0x11f0 int32_t m_nDisguisedSpeed; // 0x11f4 int32_t reveal_radius; // 0x11f8 ParticleIndex_t m_nDisguiseEffectIndex; // 0x11fc CHandle< C_BaseEntity > m_hCourierToClone; // 0x1200 CHandle< C_BaseEntity > m_hCreepToClone; // 0x1204 CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x1208 bool m_bIsFlyingCourier; // 0x1220 bool m_bIsRune; // 0x1221 bool m_bIsBanana; // 0x1222 bool m_bIsFakeAlly; // 0x1223 uint32_t m_nMischiefUnitType; // 0x1224 int32_t m_nMischiefHealthbarOffset; // 0x1228 float invul_duration; // 0x122c }; // Alignment: 10 // Size: 0x1230 class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff { public: float m_fDuration; // 0x11e8 GameTime_t m_fTimeThinkerCreated; // 0x11ec CUtlVector< Vector > m_vTargetPositions; // 0x11f0 Vector m_vInitialPos; // 0x1208 int32_t first_radius; // 0x1214 int32_t num_first_soldiers; // 0x1218 int32_t second_radius; // 0x121c int32_t num_second_soldiers; // 0x1220 ParticleIndex_t m_nRingFXIndex; // 0x1224 int32_t final_radius; // 0x1228 }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff { public: Vector m_vTargetPos; // 0x11e8 Vector m_vDirection; // 0x11f4 int32_t move_speed; // 0x1200 CHandle< C_BaseEntity > m_hThinker; // 0x1204 bool m_bIsInPosition; // 0x1208 private: [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: ParticleIndex_t m_nFXIndex; // 0x120c bool m_bAutoSpawn; // 0x1210 }; // Alignment: 10 // Size: 0x1218 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff { public: Vector m_vTargetPos; // 0x11e8 CHandle< C_BaseEntity > m_hAttackTarget; // 0x11f4 float attack_speed; // 0x11f8 int32_t second_radius; // 0x11fc int32_t outer_attack_buffer; // 0x1200 CHandle< C_BaseEntity > m_hThinker; // 0x1204 bool m_bDisarmed; // 0x1208 private: [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: GameTime_t m_flNextAttackTime; // 0x120c ParticleIndex_t m_nFXIndex; // 0x1210 bool m_bAutoSpawn; // 0x1214 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff { public: int32_t counter_duration; // 0x11e8 int32_t required_hits; // 0x11ec int32_t max_duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff { public: ParticleIndex_t m_nFXStackIndex; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff { public: int32_t charges; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t lifesteal; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 int32_t m_nIgnoreStrikeIndex; // 0x11f8 bool m_bIsAttackAnim; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff { public: int32_t acceleration_z; // 0x11e8 int32_t min_height_above_lowest; // 0x11ec int32_t min_height_above_highest; // 0x11f0 int32_t max_horizontal_acceleration; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff { public: float debuff_delay; // 0x11e8 int32_t chance_pct; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff { public: float duration; // 0x11e8 float debuff_delay; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff { public: int32_t chance_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff { public: int32_t slow; // 0x11e8 int32_t armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 5 // Size: 0x1218 class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff { public: int32_t m_nStrikesLeft; // 0x11e8 float attack_interval; // 0x11ec Vector m_vSpawnPos; // 0x11f0 Vector m_vStrikeDir; // 0x11fc Vector m_vDashDir; // 0x1208 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff { public: // No members available }; // Alignment: 20 // Size: 0x1288 class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune { public: int32_t mp_cost_per_second; // 0x11e8 float tick_interval; // 0x11ec float forward_move_speed; // 0x11f0 float turn_rate_boosted; // 0x11f4 float turn_rate; // 0x11f8 int32_t hit_radius; // 0x11fc int32_t knockback_radius; // 0x1200 bool m_bHitFirstUpdate; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: GameTime_t m_flHitEndTime; // 0x1208 float hit_recover_time; // 0x120c GameTime_t m_flJumpEndTime; // 0x1210 float jump_recover_time; // 0x1214 float m_flTurnBoostProgress; // 0x1218 float m_flFacingTarget; // 0x121c bool m_bIsJumping; // 0x1220 private: [[maybe_unused]] uint8_t __pad1221[0x3]; // 0x1221 public: ParticleIndex_t m_nFXIndex; // 0x1224 CUtlVector< float32 > m_flTurnHistory; // 0x1228 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1240 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1258 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1270 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 22 // Size: 0x1290 class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune { public: int32_t mp_cost_per_second; // 0x11e8 float tick_interval; // 0x11ec float forward_move_speed; // 0x11f0 float turn_rate_boosted; // 0x11f4 float turn_rate; // 0x11f8 int32_t hit_radius; // 0x11fc int32_t knockback_radius; // 0x1200 bool m_bHitFirstUpdate; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: GameTime_t m_flHitEndTime; // 0x1208 float hit_recover_time; // 0x120c GameTime_t m_flJumpEndTime; // 0x1210 float jump_recover_time; // 0x1214 float m_flTurnBoostProgress; // 0x1218 float m_flFacingTarget; // 0x121c GameTime_t m_flLastHeroAttackTime; // 0x1220 bool m_bIsJumping; // 0x1224 private: [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 public: ParticleIndex_t m_nFXIndex; // 0x1228 float m_flGyroshellDurationRemaining; // 0x122c CUtlVector< float32 > m_flTurnHistory; // 0x1230 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1248 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1260 CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1278 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: float latch_creation_interval; // 0x11e8 float initial_creation_delay; // 0x11ec int32_t placement_count; // 0x11f0 float placement_duration; // 0x11f4 int32_t m_iBramblesIndex; // 0x11f8 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: int32_t latch_range; // 0x11e8 int32_t latch_vision; // 0x11ec float latch_creation_delay; // 0x11f0 float latch_duration; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 public: bool m_bActive; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: int32_t damage; // 0x11e8 float max_damage_duration; // 0x11ec int32_t attack_range_bonus; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 bool bAttackRange; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: GameTime_t m_flStartTime; // 0x1214 GameTime_t m_flFadeTime; // 0x1218 float m_flDamageScale; // 0x121c float duration; // 0x1220 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t m_iRecord; // 0x11ec float m_flDamageScale; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff { public: float delay; // 0x11e8 float stun_duration; // 0x11ec int32_t stun_radius; // 0x11f0 GameTime_t m_fStartTime; // 0x11f4 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff { public: float m_flRotation; // 0x11e8 CHandle< C_BaseEntity > m_hWisp; // 0x11ec GameTime_t m_flLastAttack; // 0x11f0 int32_t roaming_radius; // 0x11f4 int32_t attack_radius; // 0x11f8 float roaming_seconds_per_rotation; // 0x11fc float attack_interval; // 0x1200 int32_t target_count; // 0x1204 }; // Alignment: 14 // Size: 0x1228 class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hWisp; // 0x11e8 int32_t destination_travel_speed; // 0x11ec int32_t return_travel_speed; // 0x11f0 int32_t destination_radius; // 0x11f4 float destination_status_duration; // 0x11f8 float initial_delay; // 0x11fc float starting_height; // 0x1200 Vector m_vAttackLocation; // 0x1204 bool m_bAttacking; // 0x1210 bool m_bReturning; // 0x1211 private: [[maybe_unused]] uint8_t __pad1212[0x2]; // 0x1212 public: float m_fCurHeight; // 0x1214 float m_fEstimatedTravelTime; // 0x1218 float think_interval; // 0x121c bool m_bInFlight; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear { public: bool m_bDidGiveOrder; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 }; // Alignment: 10 // Size: 0x1228 class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 ParticleIndex_t m_nAmbientFXIndex; // 0x11ec int32_t m_nAttackCount; // 0x11f0 bool m_bIsLatched; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CountdownTimer m_EnemyVision; // 0x1200 float latch_duration; // 0x1218 float speed; // 0x121c int32_t destroy_attacks; // 0x1220 int32_t hero_attack_multiplier; // 0x1224 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff { public: float m_flCurrentArmorReduction; // 0x11e8 CHandle< C_BaseEntity > m_hLatchedCreature; // 0x11ec float tick_interval; // 0x11f0 int32_t damage_per_second; // 0x11f4 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8 float m_fZOffset; // 0x11ec bool m_bRemovedByEnemy; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: float latch_duration; // 0x11f4 int32_t pop_damage; // 0x11f8 int32_t latched_unit_offset; // 0x11fc int32_t latched_unit_offset_short; // 0x1200 }; // Alignment: 14 // Size: 0x1220 class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff { public: GameTime_t m_fStartTime; // 0x11e8 int32_t m_nHeroTickDamageApplied; // 0x11ec GameTime_t m_fLastEffectsTime; // 0x11f0 int32_t radius; // 0x11f4 float buff_duration; // 0x11f8 float debuff_duration; // 0x11fc int32_t max_damage; // 0x1200 float max_stun; // 0x1204 int32_t movespeed_bonus_pct; // 0x1208 int32_t damage_per_tick; // 0x120c float tick_rate; // 0x1210 float max_threshold_duration; // 0x1214 int32_t shard_bonus_damage_pct; // 0x1218 int32_t shard_heal_pct; // 0x121c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff { public: int32_t movement_slow_pct; // 0x11e8 }; // Alignment: 17 // Size: 0x1228 class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hPartner; // 0x11e8 bool m_bIsPrimary; // 0x11ec bool m_bEscaped; // 0x11ed bool m_bTethered; // 0x11ee private: [[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef public: ParticleIndex_t m_nFXIndex; // 0x11f0 ParticleIndex_t m_nFXIndexA; // 0x11f4 ParticleIndex_t m_nFXIndexB; // 0x11f8 bool m_bStartedLeashSound; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_fLeashDistance; // 0x1200 GameTime_t m_fOriginalStartTime; // 0x1204 ParticleIndex_t m_nOverheadFXIndex; // 0x1208 int32_t chain_latch_radius; // 0x120c int32_t chain_break_distance; // 0x1210 float leash_limit_multiplier; // 0x1214 float chain_duration; // 0x1218 float creep_duration_pct; // 0x121c int32_t bonus_reflected_spell_damage; // 0x1220 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hAbility; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x11f0 Vector m_vLocation; // 0x1208 GameTime_t m_fChannelEnd; // 0x1214 bool m_bInterrupt; // 0x1218 bool m_bExpired; // 0x1219 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune { public: int32_t images_movespeed_bonus; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff { public: int32_t total_damage; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t move_speed; // 0x11f0 float m_flInterval; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff { public: Vector m_vPathDir; // 0x11e8 int32_t shard_trail_radius; // 0x11f4 float shard_debuff_linger_duration; // 0x11f8 float shard_interval; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff { public: int32_t shard_dps; // 0x11e8 int32_t shard_move_slow_pct; // 0x11ec float shard_interval; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 4 // Size: 0x1208 class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff { public: float radius; // 0x11e8 float formation_time; // 0x11ec float m_flInitialZ; // 0x11f0 float m_flFinalZ; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff { public: int32_t health_regen; // 0x11e8 }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t width; // 0x11ec int32_t spear_damage; // 0x11f0 int32_t spear_distance_from_wall; // 0x11f4 float spear_attack_interval; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x1c]; // 0x11fc public: float warrior_fade_min_dist; // 0x1218 float warrior_fade_max_dist; // 0x121c }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float width; // 0x11ec Vector m_vOriginLoc; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff { public: float physical_damage_reduction; // 0x11e8 float physical_damage_reduction_side; // 0x11ec float forward_angle; // 0x11f0 float side_angle; // 0x11f4 }; // Alignment: 13 // Size: 0x1228 class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff { public: int32_t redirect_chance; // 0x11e8 int32_t redirect_range; // 0x11ec float forward_angle; // 0x11f0 float side_angle; // 0x11f4 int32_t redirect_speed_penatly; // 0x11f8 int32_t redirect_close_range; // 0x11fc int32_t m_nPoseParameterWE; // 0x1200 int32_t m_nPoseParameterNS; // 0x1204 float m_flLastPoseX; // 0x1208 float m_flLastPoseY; // 0x120c int32_t m_nLastMaxDirection; // 0x1210 Vector m_vLastOrigin; // 0x1214 GameTime_t m_flLastGameTime; // 0x1220 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff { public: int32_t m_nPoseParameterWE; // 0x11e8 int32_t m_nPoseParameterNS; // 0x11ec float m_flLastPoseX; // 0x11f0 float m_flLastPoseY; // 0x11f4 int32_t m_nLastMaxDirection; // 0x11f8 Vector m_vLastOrigin; // 0x11fc GameTime_t m_flLastGameTime; // 0x1208 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff { public: GameTime_t m_NextAttack; // 0x11e8 CHandle< C_BaseEntity > m_hSoldier1; // 0x11ec CHandle< C_BaseEntity > m_hSoldier2; // 0x11f0 CHandle< C_BaseEntity > m_hSoldier3; // 0x11f4 CHandle< C_BaseEntity > m_hSoldier4; // 0x11f8 CHandle< C_BaseEntity > m_hSoldier5; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff { public: int32_t scepter_movement_slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff { public: int32_t scepter_bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff { public: int32_t knockback_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 }; // Alignment: 21 // Size: 0x1248 class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff { public: float m_fIntervalPerRocket; // 0x11e8 float m_flFacingTarget; // 0x11ec ParticleIndex_t m_nBeamFXIndex; // 0x11f0 CHandle< C_BaseEntity > m_hBeamEnd; // 0x11f4 float m_flCurDistance; // 0x11f8 Vector m_vAimTarget; // 0x11fc float m_fLastTurnAmount; // 0x1208 int32_t m_nProjectilesLaunched; // 0x120c bool m_bDestroyOnNextThink; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_nProjectilesToLaunch; // 0x1214 bool m_bHasProjectileTalent; // 0x1218 private: [[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219 public: int32_t projectile_count; // 0x121c int32_t projectile_speed; // 0x1220 int32_t projectile_width; // 0x1224 int32_t projectile_vision; // 0x1228 float turn_rate; // 0x122c int32_t min_range; // 0x1230 int32_t impact_radius; // 0x1234 float min_lob_travel_time; // 0x1238 float max_lob_travel_time; // 0x123c float delay_after_last_projectile; // 0x1240 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff { public: float burn_interval; // 0x11e8 int32_t impact_radius; // 0x11ec int32_t move_slow_pct; // 0x11f0 float burn_linger_duration; // 0x11f4 ParticleIndex_t m_nPathEffectIndex; // 0x11f8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff { public: int32_t m_nMoveSlowPct; // 0x11e8 float m_fBurnDamagePerTick; // 0x11ec int32_t move_slow_pct; // 0x11f0 float burn_interval; // 0x11f4 int32_t burn_damage; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff { public: bool m_bIsPointBlank; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t movement_slow_pct; // 0x11ec int32_t attack_slow_pct; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff { public: float jump_duration; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 int32_t m_nIsActive; // 0x1208 bool m_bHasAttackTalent; // 0x120c bool m_bBonusAttack; // 0x120d private: [[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e public: int32_t attack_range_bonus; // 0x1210 int32_t buffed_attacks; // 0x1214 float base_attack_time; // 0x1218 int32_t attack_speed_bonus; // 0x121c float armor_duration; // 0x1220 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff { public: float armor_reduction_per_attack; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11e8 PlayerID_t m_nOriginalControllingUnit; // 0x11ec bool m_bUnitWasLaunched; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: float max_time_in_belly; // 0x11f4 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff { public: int32_t min_range; // 0x11e8 float min_lob_travel_time; // 0x11ec float max_lob_travel_time; // 0x11f0 int32_t impact_radius; // 0x11f4 int32_t projectile_vision; // 0x11f8 float stun_duration; // 0x11fc float min_height_above_lowest; // 0x1200 float min_height_above_highest; // 0x1204 float min_acceleration; // 0x1208 float max_acceleration; // 0x120c }; // Alignment: 13 // Size: 0x1268 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff { public: Vector m_vFacingDir; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11f8 ParticleIndex_t m_nBeamFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< int32 > m_nViewerIDs; // 0x1218 int32_t remnant_watch_distance; // 0x1230 int32_t remnant_watch_radius; // 0x1234 float duration; // 0x1238 int32_t watch_path_vision_radius; // 0x123c int32_t impact_damage; // 0x1240 float pull_duration; // 0x1244 float activation_delay; // 0x1248 bool m_bPiercesCreeps; // 0x124c private: [[maybe_unused]] uint8_t __pad124d[0x3]; // 0x124d public: CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1250 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff { public: int32_t remnant_watch_radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 PlayerID_t m_nPlayerID; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 Vector m_vFacingDir; // 0x11ec CHandle< C_BaseEntity > m_hRemnant; // 0x11f8 bool m_bTriggered; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float m_flCurThink; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff { public: int32_t m_nRadius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff { public: ParticleIndex_t m_nFXStackIndex; // 0x11e8 int32_t movement_slow_pct; // 0x11ec int32_t pop_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff { public: int32_t ability_chance_pct; // 0x11e8 int32_t attack_chance_pct; // 0x11ec float pop_damage_delay; // 0x11f0 }; // Alignment: 19 // Size: 0x1288 class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff { public: Vector m_vFirstPortalPos; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< Vector > m_vecDestinations; // 0x11f8 CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1210 CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1228 int32_t m_nCurrentDestinationIndex; // 0x1240 int32_t m_nClosestIndexPosToClick; // 0x1244 int32_t m_nPortalHeightOffset; // 0x1248 private: [[maybe_unused]] uint8_t __pad124c[0x4]; // 0x124c public: char* m_szAlliesPortalFX; // 0x1250 char* m_szEnemiesPortalFX; // 0x1258 int32_t m_nPortalRadius; // 0x1260 int32_t m_nPortalPadding; // 0x1264 int32_t m_nFinalImpactDamageRadius; // 0x1268 int32_t m_nFinalImpactFXRadius; // 0x126c int32_t destination_fx_radius; // 0x1270 int32_t damage_radius; // 0x1274 int32_t portals_per_ring; // 0x1278 int32_t angle_per_ring_portal; // 0x127c int32_t first_ring_distance_offset; // 0x1280 float debuff_duration; // 0x1284 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff { public: int32_t base_absorb_amount; // 0x11e8 int32_t m_nAbsorbRemaining; // 0x11ec }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11f8 int32_t speed; // 0x1210 int32_t radius; // 0x1214 int32_t damage; // 0x1218 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff { public: int32_t acorn_shot_damage; // 0x11e8 int32_t base_damage_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff { public: int32_t visual_height; // 0x11e8 float animation_rate; // 0x11ec ParticleIndex_t m_iIndex; // 0x11f0 bool m_bPullComplete; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: uint32_t m_TreeId; // 0x11f8 float m_flDamagePerTick; // 0x11fc int32_t m_nDamageTicks; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff { public: int32_t evasion; // 0x11e8 int32_t radius; // 0x11ec int32_t bonus_active_evasion; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff { public: int32_t arrow_vision; // 0x11e8 float max_charge_time; // 0x11ec float turn_rate; // 0x11f0 float base_power; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff { public: int32_t arrow_width; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff { public: int32_t slow_move_pct; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff { public: float fade_time; // 0x11e8 GameTime_t m_flFadeTime; // 0x11ec bool m_bInvisLastThink; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff { public: int32_t movespeed_pct; // 0x11e8 int32_t tick_damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 2 // Size: 0x1218 class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible { public: int32_t movement_speed; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff { public: int32_t bonus_projectile_speed_pct; // 0x11e8 int32_t bonus_attack_range; // 0x11ec int32_t deadly_blow_multiplier; // 0x11f0 float maim_duration; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 int32_t spell_amp; // 0x11ec int32_t status_resistance; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff { public: int32_t bonus_attack_range; // 0x11e8 int32_t max_stacks; // 0x11ec float debuff_duration; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff { public: int32_t stack_crit_chance_pct; // 0x11e8 int32_t critical_damage_pct; // 0x11ec int32_t stack_slow_pct; // 0x11f0 ParticleIndex_t m_nFXStackIndex; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff { public: float pulse_interval; // 0x11e8 int32_t iEffectRadius; // 0x11ec int32_t base_damage; // 0x11f0 int32_t base_heal; // 0x11f4 ParticleIndex_t m_nThinkerFXIndex; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff { public: ParticleIndex_t m_nCasterFXIndex; // 0x11e8 ParticleIndex_t m_nStatusFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t attack_count; // 0x11ec bool m_bShouldIncrement; // 0x11f0 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff { public: bool m_bIsBuffedAttack; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t heal_pct; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t heal_radius; // 0x11f4 int32_t heal_from_creeps; // 0x11f8 int32_t allied_healing_pct; // 0x11fc CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x1200 float m_flTotalToHeal; // 0x1218 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff { public: int32_t flare_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 11 // Size: 0x1230 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 int32_t projectile_speed; // 0x11ec int32_t travel_speed_pct; // 0x11f0 int32_t m_nMaxRange; // 0x11f4 Vector m_vStartPoint; // 0x11f8 Vector m_vLastTrailThinkerLocation; // 0x1204 Vector m_vEndPointShard; // 0x1210 ParticleIndex_t m_nStatusFXIndex; // 0x121c int32_t flare_radius; // 0x1220 bool bHasStartedBurning; // 0x1224 private: [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 public: float flare_debuff_duration; // 0x1228 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff { public: // No members available }; // Alignment: 20 // Size: 0x1240 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t shard_movement_penalty; // 0x11ec int32_t swipe_radius; // 0x11f0 int32_t swipe_damage; // 0x11f4 int32_t smash_radius; // 0x11f8 int32_t smash_damage; // 0x11fc int32_t m_nCurrentSpeed; // 0x1200 float flSwipeInterval; // 0x1204 GameTime_t m_flNextHit; // 0x1208 int32_t iCurrentAttack; // 0x120c int32_t total_attacks; // 0x1210 float smash_stun_duration; // 0x1214 float sweep_stun_duration; // 0x1218 bool m_bHasCompletedMove; // 0x121c private: [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: float duration; // 0x1220 Vector m_vTargetHorizontalDirection; // 0x1224 int32_t smash_distance_from_hero; // 0x1230 float animation_rate; // 0x1234 float turn_rate; // 0x1238 float m_flFacingTarget; // 0x123c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff { public: int32_t attack_damage; // 0x11e8 int32_t creep_damage_penalty; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff { public: int32_t swipe_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 int32_t burn_damage; // 0x11ec float burn_interval; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff { public: int32_t impact_damage; // 0x11e8 float debuff_duration; // 0x11ec int32_t landing_radius; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff { public: int32_t movement_slow_pct; // 0x11e8 }; // Alignment: 12 // Size: 0x1220 class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 int32_t m_nMaxJumpDistance; // 0x11ec int32_t landing_radius; // 0x11f0 int32_t max_jump_distance; // 0x11f4 int32_t min_jump_distance; // 0x11f8 int32_t target_abort_distance; // 0x11fc int32_t impact_position_offset; // 0x1200 float m_flCastDistance; // 0x1204 ParticleIndex_t m_nAoEFXIndex; // 0x1208 Vector m_vDestination; // 0x120c CHandle< C_BaseEntity > m_hBounceEntity; // 0x1218 CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x121c }; // Alignment: 15 // Size: 0x1228 class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff { public: bool m_bTriggeredLandingAnim; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t m_nMaxJumpDistance; // 0x11ec int32_t min_jump_distance; // 0x11f0 int32_t max_jump_distance; // 0x11f4 float min_lob_travel_time; // 0x11f8 float max_lob_travel_time; // 0x11fc int32_t landing_radius; // 0x1200 float debuff_duration; // 0x1204 float min_height_above_lowest; // 0x1208 float min_height_above_highest; // 0x120c float min_acceleration; // 0x1210 float max_acceleration; // 0x1214 float impact_damage; // 0x1218 int32_t impact_position_offset; // 0x121c float ally_buff_duration; // 0x1220 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff { public: float ally_movespeed_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff { public: int32_t movement_slow_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff { public: int32_t scepter_armor; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff { public: float lifesteal_pct; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t bonus_attack_range; // 0x11f0 float m_fLifestealPct; // 0x11f4 float m_fDamageAbsorbed; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff { public: int32_t shard_push_length; // 0x11e8 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff { public: float time_between_flurries; // 0x11e8 int32_t charges_per_flurry; // 0x11ec int32_t flurry_charge_increment; // 0x11f0 int32_t bonus_movespeed; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 9 // Size: 0x1208 class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff { public: int32_t flurry_bonus_attack_speed; // 0x11e8 float time_between_flurries; // 0x11ec float debuff_duration; // 0x11f0 float max_time_window_per_hit; // 0x11f4 bool m_bBonusSpeed; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9 public: ParticleIndex_t m_nFXStackIndex; // 0x11fc bool m_bIsDoingFlurryAttack; // 0x1200 bool m_bIsDoingFlurryPulseAttack; // 0x1201 private: [[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202 public: GameTime_t m_fLastAttackTime; // 0x1204 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff { public: int32_t charges_per_flurry; // 0x11e8 float time_between_flurries; // 0x11ec float recovery_fixed_attack_rate; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff { public: float pulse_move_slow_pct; // 0x11e8 float pulse_attack_slow_pct; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff { public: int32_t effect_radius; // 0x11e8 Vector vLastPos; // 0x11ec float flCurrentDistance; // 0x11f8 int32_t step_distance; // 0x11fc int32_t bonus_magic_resistance; // 0x1200 bool m_bIsUnslowable; // 0x1204 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 float m_flOffset; // 0x11ec QAngle m_vStartAngles; // 0x11f0 Vector m_vStartLocation; // 0x11fc float animation_rate; // 0x1208 bool m_bInterrupted; // 0x120c bool m_bHasBeenDestroyed; // 0x120d }; // Alignment: 9 // Size: 0x1220 class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff { public: CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8 Vector m_vPulverizeCenter; // 0x11ec Vector m_vCasterStartPos; // 0x11f8 int32_t splash_radius; // 0x1204 float interval; // 0x1208 float ministun; // 0x120c int32_t damage; // 0x1210 int32_t bonus_damage_per_hit; // 0x1214 int32_t m_nHitCount; // 0x1218 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff { public: int32_t max_distance; // 0x11e8 float max_charge_time; // 0x11ec float turn_rate; // 0x11f0 float base_power; // 0x11f4 int32_t charge_speed; // 0x11f8 }; // Alignment: 10 // Size: 0x1228 class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff { public: float tick_interval; // 0x11e8 float charge_speed; // 0x11ec float movement_turn_rate; // 0x11f0 int32_t knockback_radius; // 0x11f4 float knockback_distance; // 0x11f8 int32_t knockback_damage; // 0x11fc int32_t m_nEnemyHeroesHit; // 0x1200 float m_flFacingTarget; // 0x1204 ParticleIndex_t m_nFXIndex; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff { public: // No members available }; // Alignment: 12 // Size: 0x1230 class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base { public: int32_t stack_limit; // 0x11e8 int32_t damage_limit; // 0x11ec float stack_duration; // 0x11f0 float damage_min; // 0x11f4 float damage_max; // 0x11f8 int32_t bonus_damage_per_stack; // 0x11fc ParticleIndex_t m_nFxIndexA; // 0x1200 int32_t iCur_stack; // 0x1204 int32_t bonus_damage; // 0x1208 float slow_duration; // 0x120c private: [[maybe_unused]] uint8_t __pad1210[0x18]; // 0x1210 public: float m_fTotalDamage; // 0x1228 GameTime_t m_flLastStackTime; // 0x122c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff { public: int32_t move_slow_per_stack; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff { public: int32_t roared_bonus_attack_speed; // 0x11e8 int32_t roared_bonus_armor; // 0x11ec int32_t m_nBuffStackCount; // 0x11f0 }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff { public: int32_t projectiles_per_stack; // 0x11e8 int32_t projectile_speed; // 0x11ec int32_t projectile_distance; // 0x11f0 int32_t projectile_width; // 0x11f4 int32_t splinter_angle; // 0x11f8 float split_delay; // 0x11fc int32_t projectile_waves; // 0x1200 int32_t m_nCurrentWaveCount; // 0x1204 int32_t tectonic_shift_projectiles; // 0x1208 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff { public: float double_shot_chance; // 0x11e8 float target_search_bonus_range; // 0x11ec }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff { public: int32_t impact_slow_percent; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff { public: Vector m_vFearDir; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff { public: int32_t modelscale; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t spell_lifesteal; // 0x11f0 int32_t attack_projectile_speed_bonus; // 0x11f4 int32_t attack_range_bonus; // 0x11f8 int32_t m_iOriginalAttackCapabilities; // 0x11fc ParticleIndex_t m_nScreenFXIndex; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff { public: // No members available }; // Alignment: 13 // Size: 0x1248 class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t hit_radius; // 0x11ec int32_t dead_zone_distance; // 0x11f0 float speed_initial; // 0x11f4 float speed_max; // 0x11f8 float acceleration; // 0x11fc int32_t num_revenants; // 0x1200 int32_t rotation_direction; // 0x1204 int32_t radius; // 0x1208 float rotation_initial; // 0x120c int32_t show_warning; // 0x1210 ParticleIndex_t m_nWarningFX; // 0x1214 CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff { public: int32_t aura_movespeed_slow; // 0x11e8 int32_t aura_attackspeed_slow; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff { public: int32_t ethereal_damage_bonus; // 0x11e8 int32_t movement_slow; // 0x11ec CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11f0 ParticleIndex_t m_nTetherFXIndex; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff { public: int32_t m_nProjectileHandle; // 0x11e8 CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t clock_time; // 0x11f4 float bonus_health_regen; // 0x11f8 int32_t bonus_damage; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 int32_t clock_time; // 0x11f8 float bonus_armor; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 float bonus_mana_regen; // 0x11f4 int32_t bonus_max_mana_percentage; // 0x11f8 int32_t clock_time; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_TangoHeal : public CDOTA_Buff { public: float health_regen; // 0x11e8 bool superheal; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: float m_fHealingDone; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff { public: float mana_regen; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff { public: int32_t health_regen; // 0x11e8 int32_t break_on_hero_damage; // 0x11ec float m_fHealingDone; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed_ranged; // 0x11e8 int32_t bonus_movement_speed_melee; // 0x11ec int32_t bonus_attack_speed; // 0x11f0 int32_t bonus_stat; // 0x11f4 int32_t bonus_damage; // 0x11f8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_damage_melee; // 0x11ec int32_t bonus_damage_range; // 0x11f0 int32_t damage_block_melee; // 0x11f4 int32_t damage_block_ranged; // 0x11f8 int32_t block_chance; // 0x11fc int32_t bonus_attack_speed; // 0x1200 int32_t bonus_armor; // 0x1204 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff { public: int32_t phase_movement_speed; // 0x11e8 int32_t phase_movement_speed_range; // 0x11ec }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t broken_movement_speed; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t bonus_health_regen; // 0x11f4 int32_t break_threshold; // 0x11f8 int32_t break_time; // 0x11fc int32_t break_count; // 0x1200 float m_flResetTime; // 0x1204 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t broken_movement_speed; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t bonus_health_regen; // 0x11f4 int32_t break_threshold; // 0x11f8 int32_t break_time; // 0x11fc int32_t break_count; // 0x1200 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_damage_melee; // 0x11ec int32_t bonus_damage_range; // 0x11f0 int32_t bonus_armor; // 0x11f4 int32_t bonus_agility; // 0x11f8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff { public: int32_t phase_movement_speed; // 0x11e8 int32_t phase_movement_speed_range; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 bool m_bWasRooted; // 0x11f4 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_all_stats; // 0x11f0 int32_t bonus_damage; // 0x11f4 }; // Alignment: 11 // Size: 0x1228 class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item { public: int32_t stat_per_tick; // 0x11e8 int32_t bonus_all_stats; // 0x11ec float base_interval; // 0x11f0 int32_t max_tick_count; // 0x11f4 float str_root_duration; // 0x11f8 float str_root_cooldown; // 0x11fc int32_t str_root_chance; // 0x1200 float str_bonus_damage; // 0x1204 int32_t iCurrentTickCount; // 0x1208 GameTime_t m_flLastRootTime; // 0x120c CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item { public: int32_t stat_per_tick; // 0x11e8 float base_interval; // 0x11ec int32_t max_tick_count; // 0x11f0 int32_t bonus_all_stats; // 0x11f4 int32_t agi_counter_chance; // 0x11f8 float agi_counter_cooldown; // 0x11fc GameTime_t m_flLastCounterTime; // 0x1200 int32_t iCurrentTickCount; // 0x1204 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item { public: int32_t stat_per_tick; // 0x11e8 float base_interval; // 0x11ec int32_t max_tick_count; // 0x11f0 float int_damage_interval; // 0x11f4 float int_damage_range; // 0x11f8 float int_damage; // 0x11fc int32_t iCurrentTickCount; // 0x1200 int32_t int_max_targets; // 0x1204 GameTime_t m_flNextHit; // 0x1208 int32_t bonus_all_stats; // 0x120c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff { public: int32_t health_restore; // 0x11e8 int32_t mana_restore; // 0x11ec int32_t health_restore_pct; // 0x11f0 int32_t mana_restore_pct; // 0x11f4 int32_t break_on_hero_damage; // 0x11f8 float m_fHealingDone; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item { public: float bonus_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t bonus_health; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_speed; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item { public: float bonus_armor; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item { public: int32_t damage_block_melee; // 0x11e8 int32_t damage_block_ranged; // 0x11ec int32_t block_chance; // 0x11f0 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item { public: int32_t bonus_chance; // 0x11e8 int32_t bonus_chance_damage; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 float bonus_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item { public: int32_t damage_bonus; // 0x11e8 int32_t damage_bonus_ranged; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item { public: int32_t lifesteal_percent; // 0x11e8 int32_t creep_lifesteal_reduction_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item { public: float blink_damage_cooldown; // 0x11e8 }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item { public: float bonus_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff { public: int32_t active_radius; // 0x11e8 float duration; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item { public: int32_t bonus_magical_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item { public: int32_t charge_radius; // 0x11e8 int32_t max_charges; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item { public: int32_t charge_radius; // 0x11e8 int32_t max_charges; // 0x11ec int32_t bonus_all_stats; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item { public: int32_t bonus_evasion; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff { public: int32_t extra_spell_damage_percent; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 float bonus_mana_regen; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item { public: int32_t damage_block_melee; // 0x11e8 int32_t damage_block_ranged; // 0x11ec int32_t block_chance; // 0x11f0 int32_t bonus_agility; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff { public: float radius; // 0x11e8 float duration; // 0x11ec float linger_duration; // 0x11f0 int32_t movespeed; // 0x11f4 float damage; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Buff_Wards : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff { public: int32_t true_sight_range; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_chance; // 0x11ec int32_t bonus_chance_damage; // 0x11f0 int32_t bonus_damage; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t evasion; // 0x11ec int32_t upgrade_day_vision; // 0x11f0 int32_t aura_radius; // 0x11f4 }; // Alignment: 4 // Size: 0x1200 class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t aura_damage; // 0x11f0 int32_t aura_damage_upgrade_bonus; // 0x11f4 int32_t aura_damage_illusions; // 0x11f8 int32_t blind_pct; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff { public: int32_t bonus_move_speed; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_evasion; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t crit_chance; // 0x11ec int32_t crit_multiplier; // 0x11f0 }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bash_chance_melee; // 0x11ec int32_t bash_chance_ranged; // 0x11f0 float bash_duration; // 0x11f4 float bash_cooldown; // 0x11f8 int32_t bonus_chance_damage; // 0x11fc int32_t bonus_damage; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 }; // Alignment: 13 // Size: 0x1238 class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bash_chance_melee; // 0x11ec int32_t bash_chance_ranged; // 0x11f0 float bash_duration; // 0x11f4 float bash_cooldown; // 0x11f8 int32_t bonus_chance_damage; // 0x11fc int32_t bonus_damage; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 int32_t bonus_health; // 0x1220 float bonus_health_regen; // 0x1224 int32_t block_damage_ranged; // 0x1228 int32_t block_damage_melee; // 0x122c int32_t block_chance; // 0x1230 }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 float bonus_health_regen; // 0x11ec float bonus_mana_regen; // 0x11f0 int32_t cleave_damage_percent; // 0x11f4 int32_t cleave_damage_percent_creep; // 0x11f8 int32_t cleave_starting_width; // 0x11fc int32_t cleave_ending_width; // 0x1200 int32_t cleave_distance; // 0x1204 int32_t upgraded_cleave_bonus; // 0x1208 int32_t upgraded_damage_bonus; // 0x120c int32_t quelling_bonus; // 0x1210 int32_t quelling_bonus_ranged; // 0x1214 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t bonus_agility; // 0x11f0 int32_t bonus_intellect; // 0x11f4 int32_t bonus_movement_speed; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Manta : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t crit_chance; // 0x11ec int32_t crit_multiplier; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t bonus_health_regen; // 0x11f4 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff { public: int32_t unholy_bonus_damage; // 0x11e8 int32_t unholy_bonus_attack_speed; // 0x11ec int32_t unholy_bonus_strength; // 0x11f0 int32_t unholy_bonus_armor; // 0x11f4 int32_t unholy_health_drain_per_second; // 0x11f8 int32_t str_tick_count; // 0x11fc float tick_interval; // 0x1200 float m_flDamageRemainder; // 0x1204 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_damage; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible { public: int32_t windwalk_bonus_damage; // 0x11f8 int32_t windwalk_movement_speed; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 float bonus_mana_regen; // 0x11f4 int32_t bonus_mana; // 0x11f8 int32_t cast_range_bonus; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed { public: float sheep_movement_speed; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 float bonus_mana_regen; // 0x11ec float bonus_health_regen; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t bonus_attack_speed; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff { public: float silence_damage_percent; // 0x11e8 float m_flDamageTaken; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_movement_speed; // 0x11f0 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone { public: CHandle< C_BaseEntity > m_hBlocker; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_intellect; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ForceStaff : public CDOTA_Buff { public: float push_length; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Dagon : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item { public: int32_t bonus_int; // 0x11e8 int32_t bonus_str; // 0x11ec int32_t bonus_agi; // 0x11f0 float passive_spell_lifesteal; // 0x11f4 float dagon_spell_lifesteal; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item { public: int32_t bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t bonus_all_stats; // 0x11ec int32_t bonus_health; // 0x11f0 int32_t bonus_mana; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t bonus_all_stats; // 0x11ec int32_t bonus_health; // 0x11f0 int32_t bonus_mana; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff { public: int32_t aura_attack_speed; // 0x11e8 int32_t aura_positive_armor; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff { public: int32_t aura_negative_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_health; // 0x11ec float health_regen_pct; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune { public: int32_t model_scale; // 0x11e8 int32_t magic_resist; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_damage; // 0x11ec float duration; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item { public: float reincarnate_time; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t bonus_armor; // 0x11ec int32_t aura_radius; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff { public: int32_t aura_attack_speed; // 0x11e8 int32_t hp_regen_degen_aura; // 0x11ec }; // Alignment: 8 // Size: 0x1230 class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 CountdownTimer m_ViewerTimer; // 0x1208 int32_t blast_speed; // 0x1220 int32_t blast_radius; // 0x1224 int32_t blast_damage; // 0x1228 float blast_debuff_duration; // 0x122c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff { public: int32_t blast_movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec float spell_lifesteal; // 0x11f0 float lifesteal_multiplier; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t hp_regen_amp; // 0x11ec int32_t status_resistance; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t movement_speed_percent_bonus; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t movement_speed_percent_bonus; // 0x11f0 int32_t bonus_strength; // 0x11f4 int32_t hp_regen_amp; // 0x11f8 int32_t status_resistance; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item { public: int32_t lifesteal_percent; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t creep_lifesteal_reduction_pct; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff { public: int32_t berserk_bonus_attack_speed; // 0x11e8 int32_t berserk_bonus_movement_speed; // 0x11ec int32_t berserk_armor_reduction; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 float bonus_health_regen; // 0x11ec float bonus_mana_regen; // 0x11f0 int32_t bonus_damage; // 0x11f4 float block_cooldown; // 0x11f8 float upgrade_absorb_duration; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item { public: float upgrade_absorb_duration; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff { public: int32_t damage_absorb; // 0x11e8 bool m_bStartedTimer; // 0x11ec private: [[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed public: int32_t m_flDamageAbsorbed; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float bonus_health_regen; // 0x11ec int32_t block_damage_ranged; // 0x11f0 int32_t block_damage_melee; // 0x11f4 int32_t block_chance; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff { public: int32_t block_chance_active; // 0x11e8 int32_t block_damage_active; // 0x11ec int32_t strength_pct; // 0x11f0 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float bonus_health_regen; // 0x11ec float bonus_armor; // 0x11f0 int32_t block_damage_ranged; // 0x11f4 int32_t block_damage_melee; // 0x11f8 int32_t block_chance; // 0x11fc int32_t bonus_aoe_radius; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_armor; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t passive_reflection_constant; // 0x11f4 int32_t passive_reflection_pct; // 0x11f8 int32_t active_reflection_pct; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t bonus_magical_armor; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff { public: int32_t barrier_block; // 0x11e8 int32_t barrier_amount; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item { public: int32_t bonus_spell_resist; // 0x11e8 float bonus_health_regen; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff { public: float aura_health_regen; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff { public: int32_t lifesteal_aura; // 0x11e8 int32_t damage_aura; // 0x11ec float armor_aura; // 0x11f0 float mana_regen_aura; // 0x11f4 int32_t creep_lifesteal_reduction_pct; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t bonus_aoe_radius; // 0x11ec float armor; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff { public: float bonus_aoe_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 float mana_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 float health_regen; // 0x11ec int32_t magic_resistance; // 0x11f0 int32_t aura_radius; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff { public: float aura_health_regen; // 0x11e8 int32_t magic_resistance_aura; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff { public: int32_t barrier_amount; // 0x11e8 int32_t barrier_block; // 0x11ec int32_t barrier_block_creep; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item { public: float mana_regen; // 0x11e8 int32_t bonus_all_stats; // 0x11ec float bonus_armor; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff { public: int32_t soul_heal_amount; // 0x11e8 float m_fHealingDone; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff { public: int32_t soul_damage_amount; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item { public: float health_regen; // 0x11e8 int32_t aura_radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff { public: float aura_health_regen; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t lifesteal_percent; // 0x11f0 int32_t unholy_lifesteal_percent; // 0x11f4 int32_t creep_lifesteal_reduction_pct; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff { public: int32_t unholy_lifesteal_percent; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item { public: int32_t bonus_stats; // 0x11e8 int32_t bonus_armor; // 0x11ec float bonus_regen; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff { public: int32_t health_min; // 0x11e8 int32_t new_max; // 0x11ec int32_t health_bonus; // 0x11f0 int32_t model_scale; // 0x11f4 int32_t creep_bonus_damage; // 0x11f8 int32_t creep_bonus_hp_regen; // 0x11fc int32_t creep_bonus_mp_regen; // 0x1200 int32_t creep_bonus_armor; // 0x1204 }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_damage_per_kill; // 0x11ec int32_t bonus_damage_per_assist; // 0x11f0 int32_t max_damage; // 0x11f4 float corruption_duration; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff { public: int32_t corruption_armor; // 0x11e8 }; // Alignment: 10 // Size: 0x1238 class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 int32_t projectile_speed; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 int32_t mana_cost; // 0x11f8 int32_t slow_duration; // 0x11fc int32_t damage_penalty; // 0x1200 int32_t passive_cooldown; // 0x1204 CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1220 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff { public: float active_attack_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item { public: int32_t radius; // 0x11e8 int32_t bonus_agi; // 0x11ec }; // Alignment: 11 // Size: 0x1228 class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bash_chance_melee; // 0x11f0 int32_t bash_chance_ranged; // 0x11f4 float bash_duration; // 0x11f8 float bash_cooldown; // 0x11fc int32_t bonus_chance_damage; // 0x1200 int32_t bonus_damage; // 0x1204 int32_t weaken_per_hit; // 0x1208 float weaken_duration; // 0x120c CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base { public: int32_t weaken_per_hit; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item { public: int32_t radius; // 0x11e8 int32_t bonus_movement_speed; // 0x11ec int32_t bonus_health_regen; // 0x11f0 int32_t bonus_str; // 0x11f4 int32_t bonus_int; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff { public: int32_t aura_movement_speed; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff { public: int32_t bonus_attack_speed_pct; // 0x11e8 int32_t bonus_movement_speed_pct; // 0x11ec float bonus_ms_duration; // 0x11f0 }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t attacks; // 0x11ec int32_t bonus_damage; // 0x11f0 float buff_duration; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 int32_t m_nCounter; // 0x1210 }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff { public: int32_t damage; // 0x11e8 float max_damage_duration; // 0x11ec int32_t attack_range_bonus; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 bool bAttackRange; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: float m_flStartTime; // 0x1214 float m_flFadeTime; // 0x1218 float m_flDamageScale; // 0x121c float duration; // 0x1220 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t bonus_health; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff { public: int32_t pact_aura_radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec float aura_dps; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff { public: int32_t armor_penalty_aura; // 0x11e8 int32_t damage_penalty_aura; // 0x11ec float aura_dps; // 0x11f0 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 int32_t bonus_health; // 0x11ec int32_t bonus_mana; // 0x11f0 float cold_duration; // 0x11f4 CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff { public: int32_t cold_slow_melee; // 0x11e8 int32_t cold_attack_slow_melee; // 0x11ec int32_t cold_slow_ranged; // 0x11f0 int32_t cold_attack_slow_ranged; // 0x11f4 int32_t heal_reduction; // 0x11f8 }; // Alignment: 8 // Size: 0x1228 class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff { public: int32_t chain_radius; // 0x11e8 int32_t chain_strikes; // 0x11ec int32_t chain_damage; // 0x11f0 float chain_delay; // 0x11f4 int32_t chain_damage_per_charge; // 0x11f8 int32_t m_iCurJumpCount; // 0x11fc Vector m_vCurTargetLoc; // 0x1200 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210 }; // Alignment: 11 // Size: 0x1240 class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t chain_chance; // 0x11f0 int32_t chain_strikes; // 0x11f4 int32_t chain_damage; // 0x11f8 int32_t chain_radius; // 0x11fc int32_t chain_damage_per_charge; // 0x1200 int32_t max_charges; // 0x1204 float chain_cooldown; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 CountdownTimer m_ChainTimer; // 0x1228 }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t static_chance; // 0x11f0 int32_t static_strikes; // 0x11f4 int32_t static_damage; // 0x11f8 int32_t static_primary_radius; // 0x11fc int32_t static_seconary_radius; // 0x1200 int32_t static_radius; // 0x1204 float static_cooldown; // 0x1208 int32_t chain_damage_per_charge; // 0x120c }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff { public: int32_t chain_radius; // 0x11e8 int32_t chain_strikes; // 0x11ec int32_t chain_damage; // 0x11f0 float chain_delay; // 0x11f4 int32_t m_iCurJumpCount; // 0x11f8 Vector m_vCurTargetLoc; // 0x11fc CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 }; // Alignment: 8 // Size: 0x1230 class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t chain_chance; // 0x11ec int32_t chain_strikes; // 0x11f0 int32_t chain_damage; // 0x11f4 int32_t chain_radius; // 0x11f8 float chain_cooldown; // 0x11fc CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 CountdownTimer m_ChainTimer; // 0x1218 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_intellect; // 0x11ec float damage_per_burn; // 0x11f0 int32_t feedback_mana_burn; // 0x11f4 int32_t feedback_mana_burn_illusion_melee; // 0x11f8 int32_t feedback_mana_burn_illusion_ranged; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff { public: int32_t purge_rate; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t spell_amp; // 0x11f4 int32_t spell_lifesteal_amp; // 0x11f8 int32_t mana_regen_multiplier; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff { public: int32_t ethereal_damage_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff { public: int32_t blast_movement_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 float bonus_armor; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff { public: int32_t m_iTempExtraMaxMana; // 0x11e8 int32_t m_iManaToRemove; // 0x11ec float duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 float bonus_mana_regen; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item { public: float bonus_mana_regen; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t aura_radius; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item { public: float bonus_mana_regen; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t aura_radius; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff { public: int32_t burn_amount; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff { public: int32_t explosion; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff { public: int32_t purge_rate; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff { public: int32_t ms_bonus; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff { public: float shield; // 0x11e8 float regen; // 0x11ec float idle; // 0x11f0 int32_t m_nDamageAbsorbed; // 0x11f4 GameTime_t m_timeLastTick; // 0x11f8 GameTime_t m_timeLastDamage; // 0x11fc ParticleIndex_t nFXIndex; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item { public: int32_t bonus_movement; // 0x11e8 int32_t bonus_mana; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item { public: int32_t poison_movement_speed_melee; // 0x11e8 int32_t poison_movement_speed_range; // 0x11ec float poison_duration; // 0x11f0 float poison_damage_melee; // 0x11f4 float poison_damage_range; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff { public: float duration; // 0x11e8 float slow; // 0x11ec float damage; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item { public: int32_t radius; // 0x11e8 int32_t bonus_str; // 0x11ec int32_t bonus_int; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff { public: int32_t aura_movement_speed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff { public: int32_t bonus_attack_speed_pct; // 0x11e8 int32_t bonus_movement_speed_pct; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 float bonus_mana_regen_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible { public: int32_t bonus_movement_speed; // 0x11f8 int32_t visibility_radius; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t debuff_radius; // 0x11ec float resist_debuff_duration; // 0x11f0 int32_t m_nHeroesHit; // 0x11f4 bool m_bHitInvisibleHero; // 0x11f8 bool m_bFirstPulse; // 0x11f9 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 int32_t bonus_all_stats; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff { public: int32_t spell_amp; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t hp_regen_amp; // 0x11ec int32_t bonus_evasion; // 0x11f0 int32_t status_resistance; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff { public: bool m_bPierceDebuffImmunity; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t aura_radius; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff { public: int32_t aura_bonus_armor; // 0x11e8 float aura_mana_regen; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_agility; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t bonus_armor; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff { public: float fade_time; // 0x11e8 GameTime_t m_flFadeTime; // 0x11ec bool m_bFaded; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_night_vision; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff { public: int32_t consumed_bonus; // 0x11e8 int32_t consumed_bonus_night_vision; // 0x11ec }; // Alignment: 8 // Size: 0x1220 class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_attack_speed; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t crit_chance; // 0x11f8 int32_t crit_multiplier; // 0x11fc float backstab_duration; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1208 }; // Alignment: 2 // Size: 0x1200 class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible { public: int32_t windwalk_bonus_damage; // 0x11f8 int32_t windwalk_movement_speed; // 0x11fc }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item { public: int32_t bonus_magical_armor; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff { public: int32_t active_movement_speed; // 0x11e8 int32_t barrier_block; // 0x11ec int32_t barrier_amount; // 0x11f0 float initial_fade_delay; // 0x11f4 float secondary_fade_delay; // 0x11f8 float m_flFadeTime; // 0x11fc float m_flCurentFadeDelay; // 0x1200 GameTime_t m_flLastActionTime; // 0x1204 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item { public: float bonus_mana_regen_pct; // 0x11e8 int32_t bonus_armor; // 0x11ec int32_t bonus_all_stats; // 0x11f0 int32_t self_movement_speed; // 0x11f4 ParticleIndex_t nFXIndex; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff { public: int32_t target_armor; // 0x11e8 int32_t target_attack_speed; // 0x11ec int32_t target_movement_speed; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff { public: int32_t target_armor; // 0x11e8 int32_t target_attack_speed; // 0x11ec int32_t target_movement_speed; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item { public: int32_t bonus_movement; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t aura_radius; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff { public: float aura_health_regen; // 0x11e8 float aura_armor; // 0x11ec float aura_health_regen_bonus; // 0x11f0 float aura_armor_bonus; // 0x11f4 int32_t aura_bonus_threshold; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item { public: float hp_regen; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t bonus_mana; // 0x11f4 float block_cooldown; // 0x11f8 }; // Alignment: 1 // Size: 0x13c0 class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff { public: CModifierParams m_LastParams; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1208 class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hAbility; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec Vector m_vLocation; // 0x11f0 GameTime_t m_fChannelEnd; // 0x11fc bool m_bInterrupt; // 0x1200 bool m_bExpired; // 0x1201 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec float bonus_cooldown; // 0x11f0 float bonus_health_regen; // 0x11f4 float bonus_mana_regen; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t base_attack_range; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t cast_range_bonus; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 float bonus_armor; // 0x11ec }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t bonus_attack_speed; // 0x11f4 int32_t spell_amp; // 0x11f8 int32_t mana_regen_multiplier; // 0x11fc int32_t bonus_magic_resist; // 0x1200 float duration; // 0x1204 float bonus_health_regen; // 0x1208 }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff { public: float target_crit_multiplier; // 0x11e8 float silence_damage_percent; // 0x11ec float m_flDamageTaken; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_vRecords; // 0x11f8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 float bonus_mana_regen; // 0x11f4 int32_t bonus_strength; // 0x11f8 float slow_duration; // 0x11fc bool bonus_speed; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t attack_speed_slow; // 0x11ec }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item { public: float corruption_duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff { public: int32_t corruption_armor; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item { public: int32_t movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_intellect; // 0x11ec int32_t bonus_agility; // 0x11f0 int32_t bonus_strength; // 0x11f4 int32_t base_attack_range; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff { public: float push_length; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff { public: float enemy_length; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t max_attacks; // 0x11ec int32_t m_iNumAttacks; // 0x11f0 bool bActive; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t bonus_attack_speed; // 0x11f8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item { public: float mana_regen; // 0x11e8 float bonus_armor; // 0x11ec int32_t bonus_magical_armor; // 0x11f0 int32_t magic_damage_block; // 0x11f4 int32_t min_damage; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 float bonus_health_regen; // 0x11ec float bonus_mana_regen; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff { public: int32_t impact_radius; // 0x11e8 float land_time; // 0x11ec float burn_duration; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff { public: int32_t burn_dps_buildings; // 0x11e8 int32_t burn_dps_units; // 0x11ec float burn_interval; // 0x11f0 int32_t burn_slow; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 int32_t bonus_regen; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff { public: float slow_interval_duration; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff { public: int32_t slow_pct; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float bonus_mana_regen; // 0x11ec float bonus_armor; // 0x11f0 int32_t bonus_all_stats; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff { public: int32_t soul_heal_amount; // 0x11e8 float m_fHealingDone; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff { public: int32_t hp_regen_reduction_enemy; // 0x11e8 int32_t soul_damage_amount; // 0x11ec float enemy_hp_drain; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t health_threshold_pct; // 0x11f0 float buff_duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff { public: int32_t status_resistance; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t spell_amp; // 0x11ec int32_t mana_regen_multiplier; // 0x11f0 int32_t spell_lifesteal_amp; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 int32_t bonus_health; // 0x11ec int32_t bonus_mana; // 0x11f0 int32_t heal_increase; // 0x11f4 int32_t charge_radius; // 0x11f8 int32_t max_charges; // 0x11fc int32_t bonus_all_stats; // 0x1200 int32_t charge_gain_timer; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff { public: float aura_health_regen; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t hp_regen_amp; // 0x11ec int32_t bonus_intellect; // 0x11f0 int32_t spell_amp; // 0x11f4 int32_t mana_regen_multiplier; // 0x11f8 int32_t status_resistance; // 0x11fc int32_t spell_lifesteal_amp; // 0x1200 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t movement_speed_percent_bonus; // 0x11f0 int32_t bonus_intellect; // 0x11f4 int32_t spell_amp; // 0x11f8 int32_t mana_regen_multiplier; // 0x11fc int32_t spell_lifesteal_amp; // 0x1200 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff { public: int32_t maim_slow_movement; // 0x11e8 int32_t maim_slow_attack; // 0x11ec int32_t maim_slow_movement_range; // 0x11f0 int32_t maim_slow_attack_range; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 int32_t bonus_health; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff { public: int32_t speed; // 0x11e8 int32_t radius; // 0x11ec int32_t damage_over_time; // 0x11f0 int32_t impact_damage; // 0x11f4 float debuff_duration; // 0x11f8 int32_t movespeed_slow; // 0x11fc float tick_rate; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 float damage_over_time; // 0x11ec }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec float bonus_mana_regen; // 0x11f0 int32_t bonus_spell_damage; // 0x11f4 float slow_duration; // 0x11f8 int32_t bonus_all_stats; // 0x11fc CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_intellect; // 0x11ec int32_t bonus_attack_speed; // 0x11f0 int32_t bonus_damage; // 0x11f4 float bonus_mana_regen; // 0x11f8 float damage_per_burn; // 0x11fc int32_t feedback_mana_burn; // 0x1200 int32_t feedback_mana_burn_illusion_melee; // 0x1204 int32_t feedback_mana_burn_illusion_ranged; // 0x1208 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff { public: int32_t purge_bonus_miss_rate; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff { public: int32_t attack_speed_slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff { public: int32_t movement_speed_buff_rate; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_health; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff { public: int32_t absorb_amount; // 0x11e8 int32_t m_nAbsorbRemaining; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item { public: float bonus_mana_regen; // 0x11e8 int32_t cast_range_bonus; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item { public: int32_t attack_range_bonus; // 0x11e8 int32_t attack_speed_bonus; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff { public: int32_t magic_resistance_reduction; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item { public: int32_t bonus_cooldown; // 0x11e8 int32_t bonus_health_regen; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t bonus_gpm; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t hp_regen; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Force_Boots : public CDOTA_Buff { public: int32_t push_length; // 0x11e8 float push_duration; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 float corruption_duration; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff { public: int32_t corruption_armor; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item { public: int32_t health_pct; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float duration; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item { public: int32_t cast_range_bonus; // 0x11e8 int32_t vision_bonus; // 0x11ec int32_t mana_regen; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff { public: int32_t health; // 0x11e8 int32_t mana; // 0x11ec float duration; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item { public: int32_t attack_lifesteal; // 0x11e8 int32_t spell_lifesteal; // 0x11ec int32_t night_vision; // 0x11f0 int32_t creep_lifesteal_reduction_pct; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item { public: int32_t armor_bonus; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t bonus_health; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item { public: int32_t spell_amp; // 0x11e8 int32_t debuff_amp; // 0x11ec }; // Alignment: 4 // Size: 0x13d0 class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item { public: CModifierParams m_LastParams; // 0x11e8 int32_t all_stats; // 0x13c0 int32_t reflect_chance; // 0x13c4 bool m_bProcSuccessful; // 0x13c8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff { public: float health_regen; // 0x11e8 float mana_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item { public: int32_t secondary_stats; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item { public: int32_t hp_regen; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff { public: float health_regen; // 0x11e8 int32_t armor_bonus; // 0x11ec int32_t multishot_count; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item { public: int32_t magic_damage; // 0x11e8 int32_t attack_speed; // 0x11ec float duration; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Third_Eye : public CDOTA_Buff { public: int32_t truesight_radius; // 0x11e8 int32_t bonus_vision; // 0x11ec int32_t bonus_all_stats; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 int32_t bonus_cooldown; // 0x11ec float mana_regen; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff { public: int32_t health_regen; // 0x11e8 float m_fHealingDone; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item { public: float duration; // 0x11e8 int32_t projectile_bonus; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed { public: int32_t movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t turn_rate; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff { public: int32_t bonus_movement_speed_active; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 float duration; // 0x11ec }; // Alignment: 3 // Size: 0x1210 class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item { public: CHandle< C_BaseEntity > m_hTree; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CountdownTimer m_Timer; // 0x11f0 float seconds; // 0x1208 }; // Alignment: 7 // Size: 0x1230 class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTree; // 0x11e8 int32_t m_nMangoSeconds; // 0x11ec CountdownTimer m_MangoTimer; // 0x11f0 int32_t m_nRespawnSeconds; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CountdownTimer m_RespawnTimer; // 0x1210 int32_t m_nMangosAvailable; // 0x1228 int32_t m_nChannelCount; // 0x122c }; // Alignment: 2 // Size: 0x11f0 class Modifier_Pluck_Famango_Channel : public CDOTA_Buff { public: float famango_rate; // 0x11e8 CHandle< C_BaseEntity > m_hMangoTree; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item { public: int32_t bonus_primary_stat; // 0x11e8 int32_t bonus_secondary_stat; // 0x11ec int32_t bonus_magic_resistance; // 0x11f0 int32_t bonus_spell_amp; // 0x11f4 int32_t bonus_attack_speed; // 0x11f8 int32_t m_iStat; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item { public: int32_t max_health; // 0x11e8 int32_t max_mana; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item { public: int32_t crit_multiplier; // 0x11e8 int32_t bonus_damage; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item { public: int32_t scan_cooldown_reduction; // 0x11e8 int32_t aura_range; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff { public: int32_t attack_range; // 0x11e8 int32_t cast_range; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item { public: float water_hp_regen; // 0x11e8 float water_mp_regen; // 0x11ec int32_t all_stats; // 0x11f0 bool m_bInRiver; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item { public: int32_t melee_attack_range; // 0x11e8 int32_t bonus_armor; // 0x11ec int32_t bonus_damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item { public: int32_t bonus_magic_resistance; // 0x11e8 int32_t bonus_spell_amp; // 0x11ec int32_t bonus_armor; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 int32_t bonus_hp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff { public: int32_t damage_per_sec; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item { public: int32_t bonus_int; // 0x11e8 float mp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff { public: int32_t health_gain; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item { public: int32_t all_stats; // 0x11e8 int32_t mana_regen; // 0x11ec }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item { public: int32_t bonus_attack_range; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t active_bonus_attack_range; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t passive_movement_bonus; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item { public: int32_t bonus_agi; // 0x11e8 int32_t bonus_str; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff { public: int32_t attack_damage_aura; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_strength; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float health_threshold; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item { public: int32_t primary_stat; // 0x11e8 int32_t primary_stat_universal; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item { public: int32_t attack_range_bonus; // 0x11e8 float knockback_distance; // 0x11ec float knockback_duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item { public: int32_t bonus_movement_speed; // 0x11e8 int32_t bonus_hp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff { public: float tree_duration; // 0x11e8 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t movement_speed_percent_bonus; // 0x11f0 int32_t bonus_strength; // 0x11f4 int32_t hp_regen_amp; // 0x11f8 int32_t status_resistance; // 0x11fc int32_t bonus_intellect; // 0x1200 int32_t spell_amp; // 0x1204 int32_t mana_regen_multiplier; // 0x1208 int32_t magic_damage_attack; // 0x120c }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_intellect; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff { public: int32_t hp_bonus; // 0x11e8 int32_t damage_bonus; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t bonus_intellect; // 0x11ec float bonus_health_regen; // 0x11f0 float bonus_mana_regen; // 0x11f4 float blink_damage_cooldown; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff { public: int32_t impact_radius; // 0x11e8 float land_time; // 0x11ec float burn_duration; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff { public: int32_t burn_dps_buildings; // 0x11e8 int32_t burn_dps_units; // 0x11ec float burn_interval; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_ms; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t bonus_movement_speed; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_lifesteal; // 0x11ec int32_t bonus_spell_lifesteal; // 0x11f0 int32_t bonus_amp; // 0x11f4 int32_t creep_lifesteal_reduction_pct; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune { public: int32_t model_scale; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item { public: float duration; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 int32_t slow_melee; // 0x11ec int32_t slow_range; // 0x11f0 bool bCasterRanged; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_armor; // 0x11ec int32_t demolish; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 int32_t bonus_intelligence; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item { public: int32_t base_attack_damage; // 0x11e8 int32_t magic_resistance; // 0x11ec int32_t status_resistance; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item { public: float spell_lifesteal; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_armor; // 0x11f0 float slow_duration; // 0x11f4 int32_t projectile_speed; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 float int_damage_multiplier; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 float bonus_armor; // 0x11ec int32_t spell_lifesteal; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff { public: int32_t berserk_spell_amp; // 0x11e8 int32_t berserk_manacost_reduction; // 0x11ec int32_t berserk_magic_resistance; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item { public: float hp_regen; // 0x11e8 int32_t damage_return_hero; // 0x11ec int32_t damage_return_creep; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item { public: int32_t armor; // 0x11e8 int32_t magic_resistance; // 0x11ec int32_t radius; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t damage_illusions; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item { public: int32_t attack_speed; // 0x11e8 int32_t evasion; // 0x11ec int32_t movment; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item { public: int32_t attack_speed; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item { public: int32_t health_bonus; // 0x11e8 float duration; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff { public: int32_t armor; // 0x11e8 int32_t slow_melee; // 0x11ec int32_t slow_range; // 0x11f0 bool bCasterRanged; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t damage; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item { public: int32_t mana_regen_amp; // 0x11e8 int32_t spell_amp_creeps; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item { public: int32_t evasion; // 0x11e8 int32_t magic_resistance; // 0x11ec float debuff_limit; // 0x11f0 }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 4 // Size: 0x1210 class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item { public: int32_t primary_attribute; // 0x11e8 int32_t debuff_amp; // 0x11ec float duration; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t degen; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item { public: int32_t debuff_amp; // 0x11e8 int32_t cooldown_reduction; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t armor; // 0x11ec int32_t movement_speed; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item { public: int32_t primary_attribute; // 0x11e8 int32_t lifesteal; // 0x11ec }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 int32_t debuff_duration; // 0x1200 int32_t bonus_attack_speed; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff { public: int32_t armor_debuff; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float hp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff { public: int32_t status_resistance; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item { public: int32_t base_gold; // 0x11e8 int32_t gold_per_level; // 0x11ec int32_t strength_penalty; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item { public: float move_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item { public: int32_t status_resistance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item { public: int32_t slow; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item { public: int32_t bonus_armor; // 0x11e8 int32_t radius; // 0x11ec int32_t damage; // 0x11f0 float blind_duration; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff { public: float blind_pct; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item { public: int32_t bonus_int; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item { public: int32_t health_per_tree; // 0x11e8 int32_t hp_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item { public: float damage; // 0x11e8 int32_t attack_speed; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: float bat; // 0x11ec float stun_duration; // 0x11f0 int32_t stun_chance; // 0x11f4 int32_t m_nAttack; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float hp_regen; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t bonus_intellect; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff { public: int32_t leap_distance; // 0x11e8 float leap_speed; // 0x11ec float leap_acceleration; // 0x11f0 int32_t leap_radius; // 0x11f4 float leap_bonus_duration; // 0x11f8 bool m_bLaunched; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item { public: int32_t movespeed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff { public: int32_t dps; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item { public: int32_t all_stats; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item { public: int32_t health_penalty; // 0x11e8 int32_t attack_speed; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff { public: int32_t bonus_aoe_radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item { public: bool m_bAppliesToCreeps; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: int32_t bonus_aoe_radius; // 0x11ec int32_t self_armor; // 0x11f0 int32_t self_mres; // 0x11f4 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff { public: float bonus_aoe_armor; // 0x11e8 float bonus_aoe_ms; // 0x11ec float bonus_aoe_mres; // 0x11f0 float self_mres; // 0x11f4 float self_armor; // 0x11f8 int32_t active_reflection_pct; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t missing_hp; // 0x11ec int32_t damage; // 0x11f0 int32_t aspd; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item { public: int32_t damage; // 0x11e8 int32_t hp_regen; // 0x11ec int32_t mana_regen_amp; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item { public: int32_t strength; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff { public: int32_t heal; // 0x11e8 float duration; // 0x11ec float regen; // 0x11f0 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item { public: GameTime_t m_flNextHit; // 0x11e8 int32_t passive_movement_bonus; // 0x11ec int32_t range; // 0x11f0 float interval; // 0x11f4 int32_t damage; // 0x11f8 float slow_duration; // 0x11fc float bonus_mana_regen; // 0x1200 int32_t max_targets; // 0x1204 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff { public: int32_t health; // 0x11e8 int32_t mana; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t spell_amp; // 0x11ec int32_t manacost_reduction; // 0x11f0 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item { public: int32_t poison_movement_speed_melee; // 0x11e8 int32_t poison_movement_speed_range; // 0x11ec float poison_duration; // 0x11f0 float poison_damage; // 0x11f4 int32_t armor; // 0x11f8 float hp_regen; // 0x11fc }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t slow; // 0x11ec float damage; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_damage_per_kill; // 0x11ec int32_t bonus_damage_per_assist; // 0x11f0 int32_t bonus_health; // 0x11f4 int32_t max_damage; // 0x11f8 float bonus_mana_regen; // 0x11fc }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item { public: int32_t bonus_magical_armor; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 float duration; // 0x11f4 float bonus_mana_regen; // 0x11f8 int32_t bonus_intellect; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff { public: int32_t spell_amp_debuff; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 float blink_damage_cooldown; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t attack_slow; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item { public: float blink_damage_cooldown; // 0x11e8 int32_t bonus_agility; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff { public: int32_t bonus_movement; // 0x11e8 int32_t bonus_agi_active; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item { public: float blink_damage_cooldown; // 0x11e8 int32_t bonus_intellect; // 0x11ec }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff { public: int32_t cast_pct_improvement; // 0x11e8 int32_t manacost_reduction; // 0x11ec int32_t debuff_amp; // 0x11f0 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_movement_speed; // 0x11f0 int32_t bonus_mana; // 0x11f4 int32_t cast_range_bonus; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hBlocker; // 0x11e8 GameTime_t m_flStartTime; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff { public: int32_t barrier_block; // 0x11e8 int32_t barrier_amount; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item { public: int32_t bonus_spell_resist; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t bonus_armor; // 0x11f0 float bonus_health_regen; // 0x11f4 int32_t mana_restore_pct; // 0x11f8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item { public: int32_t movement_speed_pct; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t cleave_damage_percent; // 0x11f0 int32_t cleave_starting_width; // 0x11f4 int32_t cleave_ending_width; // 0x11f8 int32_t cleave_distance; // 0x11fc }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item { public: int32_t damage; // 0x11e8 int32_t maim_chance; // 0x11ec float maim_duration; // 0x11f0 int32_t melee_attack_range; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff { public: int32_t maim_slow_movement; // 0x11e8 int32_t maim_slow_attack; // 0x11ec }; // Alignment: 7 // Size: 0x1220 class CDOTA_Modifier_GungirChain : public CDOTA_Buff { public: int32_t chain_radius; // 0x11e8 int32_t chain_strikes; // 0x11ec int32_t chain_damage; // 0x11f0 float chain_delay; // 0x11f4 int32_t m_iCurJumpCount; // 0x11f8 Vector m_vCurTargetLoc; // 0x11fc CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1208 }; // Alignment: 11 // Size: 0x1240 class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item { public: int32_t bonus_damage; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t bonus_agility; // 0x11f0 int32_t bonus_intellect; // 0x11f4 int32_t chain_chance; // 0x11f8 int32_t chain_strikes; // 0x11fc int32_t chain_damage; // 0x1200 int32_t chain_radius; // 0x1204 float chain_cooldown; // 0x1208 private: [[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x1210 CountdownTimer m_ChainTimer; // 0x1228 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec float bonus_mana_regen; // 0x11f0 int32_t cast_range_bonus; // 0x11f4 int32_t bonus_magical_armor; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff { public: int32_t movespeed; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 int32_t xp_gain; // 0x11ec }; // Alignment: 19 // Size: 0x1248 class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item { public: int32_t sange_bonus_strength; // 0x11e8 int32_t sange_status_resistance; // 0x11ec int32_t sange_hp_regen_amp; // 0x11f0 int32_t kaya_bonus_intellect; // 0x11f4 int32_t kaya_spell_amp; // 0x11f8 int32_t kaya_mana_regen_multiplier; // 0x11fc int32_t kaya_magic_damage_attack; // 0x1200 int32_t yasha_bonus_agility; // 0x1204 int32_t yasha_bonus_attack_speed; // 0x1208 int32_t yasha_movement_speed_percent_bonus; // 0x120c int32_t m_iCurrentStance; // 0x1210 int32_t bonus_strength; // 0x1214 int32_t bash_chance_melee; // 0x1218 int32_t bash_chance_ranged; // 0x121c float bash_duration; // 0x1220 float bash_cooldown; // 0x1224 int32_t bonus_chance_damage; // 0x1228 int32_t bonus_damage; // 0x122c CUtlVector< int16 > m_InFlightAttackRecords; // 0x1230 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff { public: int32_t agi_stance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff { public: int32_t str_stance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff { public: int32_t int_stance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item { public: int32_t intelligence_pct; // 0x11e8 int32_t cast_range; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff { public: int32_t push_length; // 0x11e8 float push_duration; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t aura_radius; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff { public: int32_t status_resistance; // 0x11e8 int32_t magic_resistance; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 int32_t night_vision; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t model_scale; // 0x11f0 int32_t damage_radius; // 0x11f4 int32_t pct_str_damage_per_second; // 0x11f8 float tick_rate; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t damage_return; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff { public: int32_t speed; // 0x11e8 CHandle< C_BaseEntity > m_hTarget; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff { public: int32_t speed; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item { public: int32_t base_attack; // 0x11e8 int32_t bonus_attack; // 0x11ec int32_t base_movement; // 0x11f0 int32_t bonus_movement; // 0x11f4 int32_t projectile_increase; // 0x11f8 int32_t anim_increase; // 0x11fc }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item { public: int32_t bonus_intellect; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec int32_t bonus_damage; // 0x11f0 int32_t bonus_health; // 0x11f4 float bonus_mana_regen; // 0x11f8 int32_t cooldown_reduction_percent; // 0x11fc int32_t bonus_chance; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 float bonus_health_regen; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff { public: int32_t aura_health_regen; // 0x11e8 }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t bonus_strength; // 0x11ec int32_t backstab_damage; // 0x11f0 int32_t backstab_angle; // 0x11f4 float slow_duration; // 0x11f8 bool m_bBackstab; // 0x11fc }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff { public: int32_t slow_pct_melee; // 0x11e8 int32_t slow_pct_ranged; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item { public: int32_t bonus_all_stats; // 0x11e8 int32_t stack_limit; // 0x11ec float stack_duration; // 0x11f0 GameTime_t m_flStackDieTime; // 0x11f4 int32_t magic_resistance; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff { public: float mana_regen; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item { public: int32_t bonus_mana; // 0x11e8 int32_t bonus_xpm; // 0x11ec int32_t bonus_armor; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff { public: int32_t m_nCurrentBounce; // 0x11e8 int32_t leap_distance; // 0x11ec float leap_speed; // 0x11f0 float leap_acceleration; // 0x11f4 int32_t leap_radius; // 0x11f8 float leap_bonus_duration; // 0x11fc bool m_bLaunched; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item { public: int32_t heal_increase; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 float interval; // 0x11ec int32_t damage_reduction; // 0x11f0 int32_t heal; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item { public: int32_t health_regen; // 0x11e8 }; // Alignment: 8 // Size: 0x1230 class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 CountdownTimer m_ViewerTimer; // 0x1208 int32_t spill_speed; // 0x1220 int32_t spill_radius; // 0x1224 int32_t spill_damage; // 0x1228 float spill_debuff_duration; // 0x122c }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff { public: int32_t spill_movement_speed; // 0x11e8 int32_t spill_attack_speed; // 0x11ec int32_t spill_self_bonus_armor; // 0x11f0 }; // Alignment: 9 // Size: 0x1220 class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item { public: int32_t bonus_chance; // 0x11e8 int32_t bonus_chance_damage; // 0x11ec int32_t bonus_strength; // 0x11f0 int32_t bonus_agility; // 0x11f4 int32_t bonus_intellect; // 0x11f8 float bonus_mana_regen; // 0x11fc int32_t bonus_damage; // 0x1200 int32_t bonus_speed; // 0x1204 CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x1208 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item { public: float slow_duration; // 0x11e8 int32_t bonus_attack_speed; // 0x11ec bool bonus_speed; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: float passive_cooldown; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff { public: float m_flDistance; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item { public: int32_t all_stats; // 0x11e8 int32_t bonus_armor; // 0x11ec float counter_cooldown; // 0x11f0 GameTime_t m_flLastCounterTime; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item { public: int32_t vision_bonus; // 0x11e8 int32_t magic_resist; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable { public: int32_t scout_movespeed; // 0x11e8 int32_t sight_range; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff { public: int32_t length; // 0x11e8 int32_t width; // 0x11ec int32_t max_hits; // 0x11f0 int32_t m_iCurrentHits; // 0x11f4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_armor; // 0x11ec }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item { public: int32_t cast_range_bonus; // 0x11e8 int32_t mana_reduction_pct; // 0x11ec float bonus_mana_regen; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item { public: int32_t bonus_strength; // 0x11e8 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hPartner; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec float leash_distance; // 0x11f0 float leash_limit_multiplier; // 0x11f4 CHandle< C_BaseEntity > m_hAnchor; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff { public: int32_t health; // 0x11e8 int32_t mana; // 0x11ec }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item { public: int32_t max_charges_per_kill; // 0x11e8 float recharge_time; // 0x11ec bool m_bFull; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1 public: int32_t bonus_intellect; // 0x11f4 int32_t movement_speed; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item { public: int32_t all_stats; // 0x11e8 int32_t cast_range_bonus; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x1238 class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item { public: int32_t all_stats; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t proc_bonus_damage; // 0x11f0 int32_t count; // 0x11f4 int32_t secondary_target_range_bonus; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item { public: int32_t aspd; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff { public: int32_t bonus_damage; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t bonus_spell_resist; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff { public: int32_t barrier_block; // 0x11e8 int32_t barrier_amount; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff { public: int32_t barrier_block; // 0x11e8 float m_flDamageTotal; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff { public: int32_t purge_rate; // 0x11e8 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item { public: int32_t bonus_agility; // 0x11e8 int32_t bonus_intellect; // 0x11ec float damage_per_burn; // 0x11f0 int32_t feedback_mana_burn; // 0x11f4 int32_t feedback_mana_burn_illusion_melee; // 0x11f8 int32_t feedback_mana_burn_illusion_ranged; // 0x11fc int32_t aura_radius; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff { public: int32_t max_slow_pct; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item { public: float bonus_health_regen; // 0x11e8 float bonus_mana_regen; // 0x11ec int32_t bonus_armor; // 0x11f0 int32_t aura_radius; // 0x11f4 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff { public: float aura_mana_regen; // 0x11e8 float aura_health_regen; // 0x11ec int32_t aura_armor; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item { public: int32_t damage; // 0x11e8 int32_t armor; // 0x11ec int32_t health_pct; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_damage; // 0x11ec int32_t bonus_armor; // 0x11f0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item { public: int32_t move_speed; // 0x11e8 int32_t mana; // 0x11ec int32_t magic_block; // 0x11f0 int32_t min_damage; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item { public: int32_t magic_resist; // 0x11e8 float duration; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 int32_t heal_reduction; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item { public: int32_t bonus_attack_speed; // 0x11e8 int32_t bonus_damage; // 0x11ec float radius; // 0x11f0 int32_t actual_attack_speed; // 0x11f4 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item { public: int32_t distance; // 0x11e8 int32_t damage_reduction; // 0x11ec int32_t attack_lifesteal; // 0x11f0 int32_t spell_lifesteal; // 0x11f4 int32_t creep_lifesteal_reduction_pct; // 0x11f8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item { public: int32_t armor; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item { public: int32_t damage_reduction; // 0x11e8 Vector m_vecPosition; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item { public: float duration; // 0x11e8 int32_t magic_resist; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item { public: int32_t damage_redirection; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item { public: float movement_speed; // 0x11e8 }; // Alignment: 45 // Size: 0x520 class CGlobalLightBase { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: bool m_bSpotLight; // 0x10 private: [[maybe_unused]] uint8_t __pad0011[0x3]; // 0x11 public: Vector m_SpotLightOrigin; // 0x14 QAngle m_SpotLightAngles; // 0x20 Vector m_ShadowDirection; // 0x2c Vector m_AmbientDirection; // 0x38 Vector m_SpecularDirection; // 0x44 Vector m_InspectorSpecularDirection; // 0x50 float m_flSpecularPower; // 0x5c float m_flSpecularIndependence; // 0x60 Color m_SpecularColor; // 0x64 bool m_bStartDisabled; // 0x68 bool m_bEnabled; // 0x69 Color m_LightColor; // 0x6a Color m_AmbientColor1; // 0x6e Color m_AmbientColor2; // 0x72 Color m_AmbientColor3; // 0x76 private: [[maybe_unused]] uint8_t __pad007a[0x2]; // 0x7a public: float m_flSunDistance; // 0x7c float m_flFOV; // 0x80 float m_flNearZ; // 0x84 float m_flFarZ; // 0x88 bool m_bEnableShadows; // 0x8c bool m_bOldEnableShadows; // 0x8d bool m_bBackgroundClearNotRequired; // 0x8e private: [[maybe_unused]] uint8_t __pad008f[0x1]; // 0x8f public: float m_flCloudScale; // 0x90 float m_flCloud1Speed; // 0x94 float m_flCloud1Direction; // 0x98 float m_flCloud2Speed; // 0x9c float m_flCloud2Direction; // 0xa0 float m_flAmbientScale1; // 0xa4 float m_flAmbientScale2; // 0xa8 float m_flGroundScale; // 0xac float m_flLightScale; // 0xb0 float m_flFoWDarkness; // 0xb4 bool m_bEnableSeparateSkyboxFog; // 0xb8 private: [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 public: Vector m_vFowColor; // 0xbc Vector m_ViewOrigin; // 0xc8 QAngle m_ViewAngles; // 0xd4 float m_flViewFoV; // 0xe0 Vector m_WorldPoints[8]; // 0xe4 private: [[maybe_unused]] uint8_t __pad0144[0x364]; // 0x144 public: Vector2D m_vFogOffsetLayer0; // 0x4a8 Vector2D m_vFogOffsetLayer1; // 0x4b0 CHandle< C_BaseEntity > m_hEnvWind; // 0x4b8 CHandle< C_BaseEntity > m_hEnvSky; // 0x4bc float m_fSmoothedAmount; // 0x4c0 float m_fSlowSmoothedAmount; // 0x4c4 }; // Alignment: 1 // Size: 0xa80 class C_GlobalLight : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x528]; // 0x528 public: uint16_t m_WindClothForceHandle; // 0xa50 // Static fields: static C_GlobalLight* &Get_sm_pGlobalLight(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[0]->m_instance);}; static CUtlStringToken &Get_sm_pSkyboxSlots(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[1]->m_instance);}; static CUtlVector< C_GlobalLight* > &Get_sm_nonPrimaryGlobalLights(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[2]->m_instance);}; }; // Alignment: 9 // Size: 0x290 class CDeferredLightBase { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: // MNetworkEnable Color m_LightColor; // 0x10 // MNetworkEnable float m_flIntensity; // 0x14 // MNetworkEnable float m_flLightSize; // 0x18 // MNetworkEnable float m_flSpotFoV; // 0x1c // MNetworkEnable QAngle m_vLightDirection; // 0x20 // MNetworkEnable float m_flStartFalloff; // 0x2c // MNetworkEnable float m_flDistanceFalloff; // 0x30 // MNetworkEnable uint32_t m_nFlags; // 0x34 // MNetworkEnable char m_ProjectedTextureName[512]; // 0x38 }; // Alignment: 2 // Size: 0x540 class C_DOTACameraBounds : public C_BaseEntity { public: // MNetworkEnable Vector m_vecBoundsMin; // 0x528 // MNetworkEnable Vector m_vecBoundsMax; // 0x534 }; // Alignment: 10 // Size: 0x540 class C_DOTAAppCheers : public C_BaseEntity { public: // MNetworkEnable int16_t m_nRadiantCheers; // 0x528 // MNetworkEnable int16_t m_nRadiantBronzeCheers; // 0x52a // MNetworkEnable int16_t m_nRadiantSilverCheers; // 0x52c // MNetworkEnable int16_t m_nRadiantGoldCheers; // 0x52e // MNetworkEnable ECrowdLevel m_nRadiantCrowdLevel; // 0x530 // MNetworkEnable int16_t m_nDireCheers; // 0x534 // MNetworkEnable int16_t m_nDireBronzeCheers; // 0x536 // MNetworkEnable int16_t m_nDireSilverCheers; // 0x538 // MNetworkEnable int16_t m_nDireGoldCheers; // 0x53a // MNetworkEnable ECrowdLevel m_nDireCrowdLevel; // 0x53c }; // Alignment: 6 // Size: 0x538 class C_DOTACheers : public C_BaseEntity { public: // MNetworkEnable int16_t m_nRadiantCheers; // 0x528 // MNetworkEnable int16_t m_nDireCheers; // 0x52a // MNetworkEnable int16_t m_nRadiantPremiumCheers; // 0x52c // MNetworkEnable int16_t m_nDirePremiumCheers; // 0x52e // MNetworkEnable ECrowdLevel m_nRadiantCrowdLevel; // 0x530 // MNetworkEnable ECrowdLevel m_nDireCrowdLevel; // 0x534 }; // Alignment: 13 // Size: 0x920 class C_DOTA_Hero_Recorder : public C_BaseEntity { public: // MNetworkEnable bool m_bStartRecording; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hHero; // 0x52c // MNetworkEnable CHandle< C_DOTAPlayerController > m_hPlayer; // 0x530 bool m_bRecording; // 0x534 bool m_bLastStartRecording; // 0x535 private: [[maybe_unused]] uint8_t __pad0536[0x2]; // 0x536 public: float m_flLastCycle; // 0x538 int32_t m_nCompletedCycles; // 0x53c int32_t m_nFramesThisCycle; // 0x540 int32_t m_nRecordedFrames; // 0x544 float m_flHeroAdvanceTime; // 0x548 float m_flStartTime; // 0x54c CUtlVector< float32 > m_flCycles; // 0x550 CUtlVector< CUtlString* > m_pBatchFiles; // 0x568 }; // Alignment: 6 // Size: 0x318 class sControlGroupElem { public: char m_UnitName[260]; // 0x0 char m_UnitLabel[260]; // 0x104 uint8_t m_unUnitLabelIndex; // 0x208 private: [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 public: CHandle< C_BaseEntity > m_hEntity; // 0x20c bool m_bIsIllusion; // 0x210 char m_IllusionLabel[260]; // 0x211 }; // Alignment: 5 // Size: 0x1c struct NeutralCampStackPullAlarm_t { public: Vector m_vPosition; // 0x0 float m_flPullAlarmTime; // 0xc float m_flStackAlarmTime; // 0x10 int32_t m_nCampIndex; // 0x14 int32_t m_nAlarmTypes; // 0x18 }; // Alignment: 2 // Size: 0x38 class ClientQuickBuyItemState { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int16_t nItemType; // 0x30 // MNetworkEnable bool bPurchasable; // 0x32 }; // Alignment: 0 // Size: 0x210 class CDOTAPlayer_CameraServices : public CPlayer_CameraServices { public: // No members available }; // Alignment: 0 // Size: 0x1b8 class CDOTAPlayer_MovementServices : public CPlayer_MovementServices { public: // No members available }; // Alignment: 17 // Size: 0xcd0 class C_DotaTutorialNetworker : public C_BaseEntity { public: // MNetworkEnable int32_t m_nTutorialState; // 0x528 // MNetworkEnable int32_t m_nTaskProgress; // 0x52c // MNetworkEnable int32_t m_nTaskSteps; // 0x530 // MNetworkEnable int32_t m_nTaskSecondsRemianing; // 0x534 // MNetworkEnable int32_t m_nUIState; // 0x538 // MNetworkEnable int32_t m_nShopState; // 0x53c // MNetworkEnable Vector m_TargetLocation; // 0x540 // MNetworkEnable // MNetworkDisable CHandle< C_BaseEntity > m_TargetEntity; // 0x54c // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x550 // MNetworkEnable int32_t m_nLocationID; // 0xab0 // MNetworkEnable // MNetworkChangeCallback "OnGuideChanged" char m_GuideStr[256]; // 0xab4 // MNetworkEnable // MNetworkChangeCallback "OnQuickBuyChanged" char m_QuickBuyStr[256]; // 0xbb4 int32_t m_nPreTutorialState; // 0xcb4 int32_t m_nPreUIState; // 0xcb8 int32_t m_nPreShopState; // 0xcbc Vector m_vecPrevTargetLocation; // 0xcc0 CHandle< C_BaseEntity > m_hPrevTargetEntity; // 0xccc }; // Alignment: 0 // Size: 0x530 class C_DOTAReflectionSkybox : public C_BaseEntity { public: // No members available }; // Alignment: 37 // Size: 0x5a0 class C_DOTABaseAbility : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 public: bool m_bAltCastState; // 0x530 private: [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 public: int32_t m_iEnemyLevel; // 0x534 int32_t m_iMaxLevel; // 0x538 bool m_bCanLearn; // 0x53c private: [[maybe_unused]] uint8_t __pad053d[0x3]; // 0x53d public: float m_flUpgradeBlend; // 0x540 bool m_bUpgradedDuringQuickcastPreview; // 0x544 bool m_bConsiderOvershootInGetCastRange; // 0x545 // MNetworkEnable bool m_bRefCountsModifiers; // 0x546 // MNetworkEnable bool m_bHidden; // 0x547 bool m_bOldHidden; // 0x548 // MNetworkEnable bool m_bActivated; // 0x549 bool m_bOldActivated; // 0x54a private: [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b public: // MNetworkEnable AbilityBarType_t m_nAbilityBarType; // 0x54c // MNetworkEnable // MNetworkChangeCallback "OnDirtyButtonsChanged" int32_t m_iDirtyButtons; // 0x550 bool m_bPerformDirtyParity; // 0x554 private: [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 public: // MNetworkEnable // MNetworkChangeCallback "OnLevelChanged" // MNetworkPriority "32" int32_t m_iLevel; // 0x558 bool m_bAbilityLevelDirty; // 0x55c // MNetworkEnable bool m_bToggleState; // 0x55d private: [[maybe_unused]] uint8_t __pad055e[0x2]; // 0x55e public: // MNetworkEnable float m_flAbilityMuteDuration; // 0x560 // MNetworkEnable // MNetworkPriority "32" bool m_bInAbilityPhase; // 0x564 private: [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 public: // MNetworkEnable // MNetworkPriority "32" float m_fCooldown; // 0x568 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1024.000000" float m_flCooldownLength; // 0x56c // MNetworkEnable // MNetworkPriority "32" int32_t m_iManaCost; // 0x570 // MNetworkEnable // MNetworkPriority "32" bool m_bAutoCastState; // 0x574 private: [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: // MNetworkEnable GameTime_t m_flChannelStartTime; // 0x578 // MNetworkEnable GameTime_t m_flCastStartTime; // 0x57c // MNetworkEnable bool m_bInIndefiniteCooldown; // 0x580 // MNetworkEnable bool m_bFrozenCooldown; // 0x581 private: [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 public: // MNetworkEnable float m_flOverrideCastPoint; // 0x584 // MNetworkEnable bool m_bStolen; // 0x588 // MNetworkEnable bool m_bStealable; // 0x589 // MNetworkEnable bool m_bReplicated; // 0x58a private: [[maybe_unused]] uint8_t __pad058b[0x1]; // 0x58b public: // MNetworkEnable int32_t m_nAbilityCurrentCharges; // 0x58c // MNetworkEnable // MNetworkPriority "32" float m_fAbilityChargeRestoreTimeRemaining; // 0x590 // MNetworkEnable bool m_bUpgradeRecommended; // 0x594 private: [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 public: // MNetworkEnable int32_t m_nMaxLevelOverride; // 0x598 float m_flLastCastClickTime; // 0x59c }; // Alignment: 46 // Size: 0x630 class C_DOTA_Item : public C_DOTABaseAbility { public: // MNetworkEnable bool m_bCombinable; // 0x5a0 // MNetworkEnable // MNetworkPriority "32" bool m_bPermanent; // 0x5a1 // MNetworkEnable // MNetworkPriority "32" bool m_bStackable; // 0x5a2 private: [[maybe_unused]] uint8_t __pad05a3[0x1]; // 0x5a3 public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iStackableMax; // 0x5a4 // MNetworkEnable bool m_bRecipe; // 0x5a8 // MNetworkEnable bool m_bRecipeConsumesCharges; // 0x5a9 private: [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iSharability; // 0x5ac // MNetworkEnable bool m_bDroppable; // 0x5b0 // MNetworkEnable bool m_bPurchasable; // 0x5b1 // MNetworkEnable bool m_bSellable; // 0x5b2 // MNetworkEnable bool m_bInitiallySellable; // 0x5b3 // MNetworkEnable bool m_bForceUnsellable; // 0x5b4 // MNetworkEnable bool m_bRequiresCharges; // 0x5b5 bool m_bDisplayCharges; // 0x5b6 bool m_bHideCharges; // 0x5b7 // MNetworkEnable bool m_bKillable; // 0x5b8 // MNetworkEnable bool m_bGloballyCombinable; // 0x5b9 // MNetworkEnable bool m_bDisassemblable; // 0x5ba // MNetworkEnable bool m_bIsNeutralDrop; // 0x5bb // MNetworkEnable int32_t m_nNeutralDropTeam; // 0x5bc // MNetworkEnable bool m_bAlertable; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iInitialCharges; // 0x5c4 // MNetworkEnable bool m_bCastOnPickup; // 0x5c8 // MNetworkEnable bool m_bOnlyPlayerHeroPickup; // 0x5c9 // MNetworkEnable bool m_bCreepHeroPickup; // 0x5ca private: [[maybe_unused]] uint8_t __pad05cb[0x1]; // 0x5cb public: // MNetworkEnable int32_t m_iValuelessCharges; // 0x5cc // MNetworkEnable // MNetworkPriority "32" int32_t m_iCurrentCharges; // 0x5d0 // MNetworkEnable int32_t m_iSecondaryCharges; // 0x5d4 // MNetworkEnable bool m_bCombineLocked; // 0x5d8 private: [[maybe_unused]] uint8_t __pad05d9[0x3]; // 0x5d9 public: // MNetworkEnable // MNetworkPriority "32" GameTime_t m_flPurchaseTime; // 0x5dc // MNetworkEnable // MNetworkPriority "32" GameTime_t m_flAssembledTime; // 0x5e0 // MNetworkEnable bool m_bPurchasedWhileDead; // 0x5e4 // MNetworkEnable bool m_bCanBeUsedOutOfInventory; // 0x5e5 // MNetworkEnable bool m_bItemEnabled; // 0x5e6 private: [[maybe_unused]] uint8_t __pad05e7[0x1]; // 0x5e7 public: // MNetworkEnable // MNetworkPriority "32" GameTime_t m_flEnableTime; // 0x5e8 // MNetworkEnable GameTime_t m_flReclaimTime; // 0x5ec // MNetworkEnable bool m_bDisplayOwnership; // 0x5f0 // MNetworkEnable bool m_bShowOnMinimap; // 0x5f1 private: [[maybe_unused]] uint8_t __pad05f2[0x2]; // 0x5f2 public: // MNetworkEnable float m_flMinimapIconSize; // 0x5f4 // MNetworkEnable bool m_bIsUpgradeable; // 0x5f8 private: [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 public: // MNetworkEnable int32_t m_nUpgradeProgress; // 0x5fc // MNetworkEnable int32_t m_nUpgradeGoal; // 0x600 CHandle< C_BaseEntity > m_hOldOwnerEntity; // 0x604 int32_t m_iOldCharges; // 0x608 // MNetworkEnable PlayerID_t m_iPlayerOwnerID; // 0x60c // MNetworkEnable C_NetworkUtlVectorBase< uint8 > m_vecPreGameTransferPlayerIDs; // 0x610 }; // Alignment: 4 // Size: 0x10 struct PlayerSeatAssignment_t { public: uint32_t unAccountID; // 0x0 uint32_t unSeat; // 0x4 uint32_t unReversedSeat; // 0x8 uint32_t unTeamID; // 0xc }; // Alignment: 25 // Size: 0x32d8 class C_DOTA_PlayerResource : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x10]; // 0x528 public: bool m_bWasDataUpdateCreated; // 0x538 private: [[maybe_unused]] uint8_t __pad0539[0x7]; // 0x539 public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerTeamData_t > m_vecPlayerTeamData; // 0x540 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerData_t > m_vecPlayerData; // 0x590 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PlayerResourceBroadcasterData_t > m_vecBrodcasterData; // 0x5e0 // MNetworkEnable C_NetworkUtlVectorBase< uint32 > m_vecEventsForDisplay; // 0x630 // MNetworkEnable int8_t m_nPrimaryEventIndex; // 0x648 private: [[maybe_unused]] uint8_t __pad0649[0x3]; // 0x649 public: // MNetworkEnable // MNetworkChangeCallback "OnObsoletePrimaryEventChanged" // MNetworkAlias "m_nEventIDAssociatedWithEventData" uint32_t m_nObsoleteEventIDAssociatedWithEventData; // 0x64c CHandle< C_BaseEntity > m_playerIDToPlayer[64]; // 0x650 CUtlSymbolLarge m_iszName[64]; // 0x750 CUtlSymbolLarge m_iszHTMLSafeName[64]; // 0x950 CUtlSymbolLarge m_iszFilteredHTMLSafeName[64]; // 0xb50 private: [[maybe_unused]] uint8_t __pad0d50[0x1800]; // 0xd50 public: bool m_bDirtySuggestedItems; // 0x2550 bool m_bDirtyEstimatedMatchDuration; // 0x2551 bool m_bDirtySelection; // 0x2552 bool m_bHasWorldTreesChanged; // 0x2553 bool m_bWorldTreeModelsChanged; // 0x2554 bool m_bSwapWillingness[24]; // 0x2555 private: [[maybe_unused]] uint8_t __pad256d[0x43]; // 0x256d public: CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hTeamCouriers[15]; // 0x25b0 CUtlVector< CHandle< C_DOTA_Unit_Courier > > m_hPlayerCouriers[64]; // 0x2718 CUtlVector< uint32 > m_vecOnstageHomeTeams; // 0x2d18 PlayerSeatAssignment_t* m_pPlayerIDToOnstageSlot[24]; // 0x2d30 CUtlVector< PlayerSeatAssignment_t > m_vecOnstagePlayerSeats; // 0x2df0 int32_t m_nEventNPCReplaced; // 0x2e08 int32_t m_nEventPlayerInfo; // 0x2e0c int32_t m_nInventoryUpdated; // 0x2e10 }; // Alignment: 8 // Size: 0xb0 struct PingConfirmationState_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t m_nInitiatingPlayerID; // 0x30 // MNetworkEnable int32_t m_PingWheelMessageID; // 0x34 // MNetworkEnable float m_flActiveUntilTime; // 0x38 // MNetworkEnable Vector2D m_vLocation; // 0x3c // MNetworkEnable int32_t m_nPingedEntityEntIndex; // 0x44 // MNetworkEnable int32_t m_nID; // 0x48 // MNetworkEnable PingConfirmationIconType m_IconType; // 0x4c // MNetworkEnable int32_t m_nAgreeState[24]; // 0x50 }; // Alignment: 2 // Size: 0x50 struct TierNeutralInfo_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t m_nTier; // 0x30 private: [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 public: // MNetworkEnable C_NetworkUtlVectorBase< AbilityID_t > m_nAbilityID; // 0x38 }; // Alignment: 3 // Size: 0x40 struct PlayerResourcePlayerPeriodicResourceData_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable PeriodicResourceID_t m_unPeriodicResourceID; // 0x30 // MNetworkEnable uint32_t m_unPeriodicResourceMax; // 0x34 // MNetworkEnable uint32_t m_unPeriodicResourceRemaining; // 0x38 }; // Alignment: 23 // Size: 0xe0 struct PlayerResourcePlayerEventData_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable uint32_t m_iEventID; // 0x30 // MNetworkEnable uint32_t m_iEventPoints; // 0x34 // MNetworkEnable uint32_t m_iEventPremiumPoints; // 0x38 // MNetworkEnable uint32_t m_iEventEffectsMask; // 0x3c // MNetworkEnable uint16_t m_iEventRanks; // 0x40 // MNetworkEnable bool m_bIsEventOwned; // 0x42 private: [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 public: // MNetworkEnable uint32_t m_iFavoriteTeam; // 0x44 // MNetworkEnable uint16_t m_iFavoriteTeamQuality; // 0x48 // MNetworkEnable uint8_t m_iAvailableSalutes; // 0x4a // MNetworkEnable uint8_t m_iSaluteAmountIndex; // 0x4b // MNetworkEnable uint32_t m_iEventWagerStreak; // 0x4c // MNetworkEnable uint8_t m_iEventTeleportFXLevel; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: // MNetworkEnable int32_t m_nCandyPointsReason[5]; // 0x54 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerPeriodicResourceData_t > m_vecPeriodicResources; // 0x68 // MNetworkEnable // MNetworkAlias "m_iSaluteAmounts" uint8_t m_iObsoleteSaluteAmounts; // 0xb8 private: [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 public: // MNetworkEnable // MNetworkAlias "m_iEventArcanaPeriodicResourceRemaining" uint32_t m_iObsoleteEventArcanaPeriodicResourceRemaining; // 0xbc // MNetworkEnable // MNetworkAlias "m_iEventArcanaPeriodicResourceMax" uint32_t m_iObsoleteEventArcanaPeriodicResourceMax; // 0xc0 // MNetworkEnable // MNetworkAlias "m_iEventWagerTokensRemaining" uint32_t m_iObsoleteEventWagerTokensRemaining; // 0xc4 // MNetworkEnable // MNetworkAlias "m_iEventWagerTokensMax" uint32_t m_iObsoleteEventWagerTokensMax; // 0xc8 // MNetworkEnable // MNetworkAlias "m_iEventBountiesRemaining" uint32_t m_iObsoleteEventBountiesRemaining; // 0xcc // MNetworkEnable // MNetworkAlias "m_iRankWagersAvailable" uint32_t m_iObsoleteRankWagersAvailable; // 0xd0 // MNetworkEnable // MNetworkAlias "m_iRankWagersMax" uint32_t m_iObsoleteRankWagersMax; // 0xd4 // MNetworkEnable // MNetworkAlias "m_iEventPointAdjustmentsRemaining" uint32_t m_iObsoleteEventPointAdjustmentsRemaining; // 0xd8 }; // Alignment: 2 // Size: 0x38 struct DOTAThreatLevelInfo_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable float m_flKillability; // 0x30 // MNetworkEnable int32_t m_nEntIndex; // 0x34 }; // Alignment: 76 // Size: 0x1d8 struct PlayerResourcePlayerTeamData_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x30 // MNetworkEnable // MNetworkChangeCallback "OnSelectionDirty" int32_t m_nSelectedHeroID; // 0x80 // MNetworkEnable int32_t m_iKills; // 0x84 // MNetworkEnable int32_t m_iAssists; // 0x88 // MNetworkEnable int32_t m_iDeaths; // 0x8c // MNetworkEnable int32_t m_iStreak; // 0x90 // MNetworkEnable int32_t m_iLevel; // 0x94 // MNetworkEnable int32_t m_iCustomIntParam; // 0x98 // MNetworkEnable int32_t m_iRespawnSeconds; // 0x9c // MNetworkEnable GameTime_t m_flLastBuybackTime; // 0xa0 // MNetworkEnable // MNetworkChangeCallback "OnLastBuybackTimeChanged" int32_t m_iLastBuybackTime_Obsolete; // 0xa4 // MNetworkEnable CHandle< C_BaseEntity > m_hSelectedHero; // 0xa8 // MNetworkEnable bool m_bAFK; // 0xac private: [[maybe_unused]] uint8_t __pad00ad[0x3]; // 0xad public: // MNetworkEnable // MNetworkChangeCallback "OnSelectionDirty" int32_t m_nSuggestedHeroes[4]; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "OnSelectionDirty" bool m_bBanSuggestedHeroes[4]; // 0xc0 // MNetworkEnable bool m_bVoiceChatBanned; // 0xc4 private: [[maybe_unused]] uint8_t __pad00c5[0x3]; // 0xc5 public: // MNetworkEnable item_definition_index_t m_iTimedRewardDrops; // 0xc8 // MNetworkEnable int32_t m_iTimedRewardDropOrigins; // 0xcc // MNetworkEnable item_definition_index_t m_iTimedRewardCrates; // 0xd0 // MNetworkEnable item_definition_index_t m_iTimedRewardEvents; // 0xd4 // MNetworkEnable uint16_t m_unCompendiumLevel; // 0xd8 // MNetworkEnable bool m_bCanRepick; // 0xda // MNetworkEnable bool m_bCanEarnRewards; // 0xdb // MNetworkEnable bool m_bHasRandomed; // 0xdc private: [[maybe_unused]] uint8_t __pad00dd[0x3]; // 0xdd public: // MNetworkEnable int32_t m_nRandomedHeroID; // 0xe0 // MNetworkEnable bool m_bBattleBonusActive; // 0xe4 private: [[maybe_unused]] uint8_t __pad00e5[0x1]; // 0xe5 public: // MNetworkEnable uint16_t m_iBattleBonusRate; // 0xe6 // MNetworkEnable int32_t m_iCustomBuybackCost; // 0xe8 // MNetworkEnable Color m_CustomPlayerColor; // 0xec // MNetworkEnable bool m_bQualifiesForPAContractReward; // 0xf0 // MNetworkEnable bool m_bHasPredictedVictory; // 0xf1 private: [[maybe_unused]] uint8_t __pad00f2[0x2]; // 0xf2 public: // MNetworkEnable int32_t m_UnitShareMasks; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "OnTeamChanged" int32_t m_iTeamSlot; // 0xf8 // MNetworkEnable uint8_t m_iBattleCupWinStreak; // 0xfc private: [[maybe_unused]] uint8_t __pad00fd[0x3]; // 0xfd public: // MNetworkEnable uint64_t m_iBattleCupWinDate; // 0x100 // MNetworkEnable uint16_t m_iBattleCupSkillLevel; // 0x108 private: [[maybe_unused]] uint8_t __pad010a[0x2]; // 0x10a public: // MNetworkEnable uint32_t m_iBattleCupTeamID; // 0x10c // MNetworkEnable uint32_t m_iBattleCupTournamentID; // 0x110 // MNetworkEnable uint8_t m_iBattleCupDivision; // 0x114 private: [[maybe_unused]] uint8_t __pad0115[0x3]; // 0x115 public: // MNetworkEnable float m_flTeamFightParticipation; // 0x118 // MNetworkEnable int32_t m_iFirstBloodClaimed; // 0x11c // MNetworkEnable int32_t m_iFirstBloodGiven; // 0x120 // MNetworkEnable uint32_t m_unPickOrder; // 0x124 // MNetworkEnable GameTime_t m_flTimeOfLastSaluteSent; // 0x128 private: [[maybe_unused]] uint8_t __pad012c[0x4]; // 0x12c public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PlayerResourcePlayerEventData_t > m_vecPlayerEventData; // 0x130 // MNetworkEnable uint32_t m_unSelectedHeroBadgeXP; // 0x180 // MNetworkEnable uint8_t m_iBountyRunes; // 0x184 // MNetworkEnable uint8_t m_iPowerRunes; // 0x185 // MNetworkEnable uint8_t m_iWaterRunes; // 0x186 // MNetworkEnable uint8_t m_iOutpostsCaptured; // 0x187 // MNetworkEnable uint8_t m_unGuildTier; // 0x188 private: [[maybe_unused]] uint8_t __pad0189[0x1]; // 0x189 public: // MNetworkEnable uint16_t m_unGuildLevel; // 0x18a // MNetworkEnable uint8_t m_unGuildPrimaryColor; // 0x18c // MNetworkEnable uint8_t m_unGuildSecondaryColor; // 0x18d // MNetworkEnable uint8_t m_unGuildPattern; // 0x18e private: [[maybe_unused]] uint8_t __pad018f[0x1]; // 0x18f public: // MNetworkEnable uint64_t m_unGuildLogo; // 0x190 // MNetworkEnable uint32_t m_unGuildFlags; // 0x198 // MNetworkEnable bool m_bIsPartyGuild; // 0x19c private: [[maybe_unused]] uint8_t __pad019d[0x3]; // 0x19d public: // MNetworkEnable GuildID_t m_unGuildID; // 0x1a0 // MNetworkEnable item_definition_index_t m_unHeroStickerDefIndex; // 0x1a4 // MNetworkEnable uint8_t m_eHeroStickerQuality; // 0x1a8 // MNetworkEnable uint8_t m_eLaneSelectionFlags; // 0x1a9 // MNetworkEnable uint8_t m_nPlayerDraftPreferredRoles; // 0x1aa // MNetworkEnable int8_t m_nPlayerDraftPreferredTeam; // 0x1ab // MNetworkEnable // MNetworkAlias "m_iEventPoints" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventPoints; // 0x1ac // MNetworkEnable // MNetworkAlias "m_iEventPremiumPoints" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventPremiumPoints; // 0x1b0 // MNetworkEnable // MNetworkAlias "m_iEventWagerTokensRemaining" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventWagerTokensRemaining; // 0x1b4 // MNetworkEnable // MNetworkAlias "m_iEventWagerTokensMax" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventWagerTokensMax; // 0x1b8 // MNetworkEnable // MNetworkAlias "m_iEventEffectsMask" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventEffectsMask; // 0x1bc // MNetworkEnable // MNetworkAlias "m_iEventRanks" // MNetworkChangeCallback "OnObsoleteEvent" uint16_t m_iObsoleteEventRanks; // 0x1c0 // MNetworkEnable // MNetworkAlias "m_bIsEventOwned" // MNetworkChangeCallback "OnObsoleteEvent" bool m_bObsoleteIsEventOwned; // 0x1c2 private: [[maybe_unused]] uint8_t __pad01c3[0x1]; // 0x1c3 public: // MNetworkEnable // MNetworkAlias "m_iRankWagersAvailable" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteRankWagersAvailable; // 0x1c4 // MNetworkEnable // MNetworkAlias "m_iRankWagersMax" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteRankWagersMax; // 0x1c8 // MNetworkEnable // MNetworkAlias "m_iEventPointAdjustmentsRemaining" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteEventPointAdjustmentsRemaining; // 0x1cc // MNetworkEnable // MNetworkAlias "m_iAvailableSalutes" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteAvailableSalutes; // 0x1d0 // MNetworkEnable // MNetworkAlias "m_iSaluteAmounts" // MNetworkChangeCallback "OnObsoleteEvent" uint32_t m_iObsoleteSaluteAmounts; // 0x1d4 }; // Alignment: 28 // Size: 0xd8 struct PlayerResourcePlayerData_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable bool m_bIsValid; // 0x30 private: [[maybe_unused]] uint8_t __pad0031[0x7]; // 0x31 public: // MNetworkEnable // MNetworkChangeCallback "OnPlayerNamesChanged" CUtlSymbolLarge m_iszPlayerName; // 0x38 // MNetworkEnable // MNetworkChangeCallback "OnTeamChanged" int32_t m_iPlayerTeam; // 0x40 // MNetworkEnable bool m_bFullyJoinedServer; // 0x44 // MNetworkEnable // MNetworkChangeCallback "OnFakeClientChanged" bool m_bFakeClient; // 0x45 // MNetworkEnable bool m_bIsBroadcaster; // 0x46 private: [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 public: // MNetworkEnable uint32_t m_iBroadcasterChannel; // 0x48 // MNetworkEnable uint32_t m_iBroadcasterChannelSlot; // 0x4c // MNetworkEnable bool m_bIsBroadcasterChannelCameraman; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: // MNetworkEnable // MNetworkChangeCallback "OnPlayerConnectionStateChanged" int32_t m_iConnectionState; // 0x54 // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnPlayerSteamIDsChanged" uint64_t m_iPlayerSteamID; // 0x58 // MNetworkEnable DOTATeam_t m_eCoachTeam; // 0x60 private: [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 public: // MNetworkEnable // MNetworkChangeCallback "OnPlayerCoachedPlayerIDsChanged" C_NetworkUtlVectorBase< PlayerID_t > m_vecPrivateCoachPlayerIDs; // 0x68 // MNetworkEnable uint32_t m_unCoachRating; // 0x80 // MNetworkEnable DOTATeam_t m_eLiveSpectatorTeam; // 0x84 // MNetworkEnable int32_t m_nLiveSpectatorSpectatedHeroIndex; // 0x88 // MNetworkEnable bool m_bIsPlusSubscriber; // 0x8c // MNetworkEnable bool m_bWasMVPLastGame; // 0x8d // MNetworkEnable CavernCrawlMapVariant_t m_nCavernCrawlMapVariant; // 0x8e private: [[maybe_unused]] uint8_t __pad008f[0x1]; // 0x8f public: // MNetworkEnable int32_t m_eAccoladeType[3]; // 0x90 private: [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c public: // MNetworkEnable uint64_t m_unAccoladeData[3]; // 0xa0 // MNetworkEnable int32_t m_iRankTier; // 0xb8 // MNetworkEnable int32_t m_iTitle; // 0xbc // MNetworkEnable uint64_t m_unFavTeamPacked; // 0xc0 // MNetworkEnable CPlayerSlot m_nPlayerSlot; // 0xc8 // MNetworkEnable bool m_bIsBot; // 0xcc // MNetworkEnable bool m_bHasNeutralTier[5]; // 0xcd // MNetworkEnable bool m_bHasRedeemedNeutralTier[5]; // 0xd2 }; // Alignment: 3 // Size: 0x48 struct PlayerResourceBroadcasterData_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable CUtlSymbolLarge m_iszBroadcasterChannelDescription; // 0x30 // MNetworkEnable CUtlSymbolLarge m_iszBroadcasterChannelCountryCode; // 0x38 // MNetworkEnable CUtlSymbolLarge m_iszBroadcasterChannelLanguageCode; // 0x40 }; // Alignment: 86 // Size: 0x510 struct DataTeamPlayer_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable // MNetworkPriority "48" int32_t m_iReliableGold; // 0x30 // MNetworkEnable // MNetworkPriority "48" int32_t m_iUnreliableGold; // 0x34 // MNetworkEnable // MNetworkChangeCallback "OnStartingPositionsChanged" int32_t m_iStartingPosition; // 0x38 // MNetworkEnable // MNetworkPriority "32" int32_t m_iTotalEarnedGold; // 0x3c // MNetworkEnable int32_t m_iTotalEarnedXP; // 0x40 // MNetworkEnable int32_t m_iSharedGold; // 0x44 // MNetworkEnable int32_t m_iHeroKillGold; // 0x48 // MNetworkEnable int32_t m_iCreepKillGold; // 0x4c // MNetworkEnable int32_t m_iNeutralKillGold; // 0x50 // MNetworkEnable int32_t m_iCourierGold; // 0x54 // MNetworkEnable int32_t m_iBountyGold; // 0x58 // MNetworkEnable int32_t m_iRoshanGold; // 0x5c // MNetworkEnable int32_t m_iBuildingGold; // 0x60 // MNetworkEnable int32_t m_iOtherGold; // 0x64 // MNetworkEnable int32_t m_iComebackGold; // 0x68 // MNetworkEnable int32_t m_iExperimentalGold; // 0x6c // MNetworkEnable int32_t m_iExperimental2Gold; // 0x70 // MNetworkEnable int32_t m_iCreepDenyGold; // 0x74 // MNetworkEnable int32_t m_iTPScrollsPurchased; // 0x78 // MNetworkEnable float m_flCustomStats; // 0x7c // MNetworkEnable int32_t m_iIncomeGold; // 0x80 // MNetworkEnable int32_t m_iWardKillGold; // 0x84 // MNetworkEnable int32_t m_iAbilityGold; // 0x88 // MNetworkEnable int32_t m_iNetWorth; // 0x8c // MNetworkEnable int32_t m_iDenyCount; // 0x90 // MNetworkEnable int32_t m_iLastHitCount; // 0x94 // MNetworkEnable int32_t m_iLastHitStreak; // 0x98 // MNetworkEnable int32_t m_iLastHitMultikill; // 0x9c // MNetworkEnable int32_t m_iNearbyCreepDeathCount; // 0xa0 // MNetworkEnable int32_t m_iClaimedDenyCount; // 0xa4 // MNetworkEnable int32_t m_iClaimedMissCount; // 0xa8 // MNetworkEnable int32_t m_iMissCount; // 0xac // MNetworkEnable // MNetworkChangeCallback "OnSelectionDirty" int32_t m_nPossibleHeroSelection; // 0xb0 // MNetworkEnable uint16_t m_iMetaLevel; // 0xb4 // MNetworkEnable uint16_t m_iMetaExperience; // 0xb6 // MNetworkEnable uint16_t m_iMetaExperienceAwarded; // 0xb8 private: [[maybe_unused]] uint8_t __pad00ba[0x2]; // 0xba public: // MNetworkEnable GameTime_t m_flBuybackCooldownTime; // 0xbc // MNetworkEnable GameTime_t m_flBuybackGoldLimitTime; // 0xc0 // MNetworkEnable float m_flBuybackCostTime; // 0xc4 // MNetworkEnable float m_flCustomBuybackCooldown; // 0xc8 // MNetworkEnable float m_fStuns; // 0xcc // MNetworkEnable float m_fHealing; // 0xd0 // MNetworkEnable float m_fRegeneratedHealth; // 0xd4 // MNetworkEnable int32_t m_iTowerKills; // 0xd8 // MNetworkEnable int32_t m_iRoshanKills; // 0xdc // MNetworkEnable CHandle< C_BaseEntity > m_hCameraTarget; // 0xe0 // MNetworkEnable CHandle< C_BaseEntity > m_hOverrideSelectionEntity; // 0xe4 // MNetworkEnable int32_t m_iObserverWardsPlaced; // 0xe8 // MNetworkEnable int32_t m_iSentryWardsPlaced; // 0xec // MNetworkEnable int32_t m_iCreepsStacked; // 0xf0 // MNetworkEnable int32_t m_iCampsStacked; // 0xf4 // MNetworkEnable int32_t m_iRunePickups; // 0xf8 // MNetworkEnable int32_t m_iGoldSpentOnSupport; // 0xfc // MNetworkEnable int32_t m_iHeroDamage; // 0x100 // MNetworkEnable int32_t m_iTowerDamage; // 0x104 // MNetworkEnable int32_t m_iWardsPurchased; // 0x108 // MNetworkEnable int32_t m_iWardsDestroyed; // 0x10c // MNetworkEnable C_DOTA_UnitInventory m_PreGameInventory; // 0x110 // MNetworkEnable int32_t m_nKillsPerOpposingTeamMember[24]; // 0x1c0 // MNetworkEnable AbilityID_t m_iSuggestedAbilities[5]; // 0x220 // MNetworkEnable float m_fSuggestedAbilityWeights[5]; // 0x234 // MNetworkEnable // MNetworkChangeCallback "OnSuggestedItemsChanged" AbilityID_t m_iSuggestedPregameItems[15]; // 0x248 // MNetworkEnable // MNetworkChangeCallback "OnSuggestedItemsChanged" AbilityID_t m_iSuggestedItemSequences[30]; // 0x284 // MNetworkEnable // MNetworkChangeCallback "OnSuggestedItemsChanged" WeightedAbilitySuggestion_t m_iSuggestedWeightedItems[15]; // 0x2fc // MNetworkEnable // MNetworkChangeCallback "OnSuggestedItemsChanged" WeightedAbilitySuggestion_t m_iSuggestedTopNItems[3]; // 0x374 // MNetworkEnable // MNetworkChangeCallback "OnSuggestedItemsChanged" WeightedAbilitySuggestion_t m_iSuggestedNeutralItems[25]; // 0x38c // MNetworkEnable uint32_t m_iSuggestedHeroes[10]; // 0x454 // MNetworkEnable float m_flSuggestedHeroesWeights[10]; // 0x47c // MNetworkEnable int32_t m_iDamageByTypeReceivedPreReduction[3]; // 0x4a4 // MNetworkEnable int32_t m_iDamageByTypeReceivedPostReduction[3]; // 0x4b0 // MNetworkEnable int32_t m_iOutgoingDamageByTypePreReduction[3]; // 0x4bc // MNetworkEnable int32_t m_iOutgoingDamageByTypePostReduction[3]; // 0x4c8 // MNetworkEnable int32_t m_iCommandsIssued; // 0x4d4 // MNetworkEnable int32_t m_iGoldSpentOnConsumables; // 0x4d8 // MNetworkEnable int32_t m_iGoldSpentOnItems; // 0x4dc // MNetworkEnable int32_t m_iGoldSpentOnBuybacks; // 0x4e0 // MNetworkEnable int32_t m_iGoldLostToDeath; // 0x4e4 // MNetworkEnable bool m_bIsNewPlayer; // 0x4e8 // MNetworkEnable bool m_bIsGuidePlayer; // 0x4e9 private: [[maybe_unused]] uint8_t __pad04ea[0x6]; // 0x4ea public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnPlayerSteamIDsChanged" uint64_t m_iPlayerSteamID; // 0x4f0 // MNetworkEnable int32_t m_iSmokesUsed; // 0x4f8 // MNetworkEnable int32_t m_iNeutralTokensFound; // 0x4fc // MNetworkEnable int32_t m_iWatchersTaken; // 0x500 // MNetworkEnable int32_t m_iLotusesTaken; // 0x504 // MNetworkEnable int32_t m_iTormentorKills; // 0x508 // MNetworkEnable int32_t m_iCourierKills; // 0x50c }; // Alignment: 2 // Size: 0x238 struct TreeModelReplacement_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable int32_t m_nBinaryObjectID; // 0x30 // MNetworkEnable char m_szModel[512]; // 0x34 }; // Alignment: 22 // Size: 0x1440 class C_DOTA_DataNonSpectator : public C_BaseEntity { public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< DataTeamPlayer_t > m_vecDataTeam; // 0x528 // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnTeamWorldTreeStateChanged" uint64_t m_bWorldTreeState[256]; // 0x578 // MNetworkEnable // MNetworkChangeCallback "OnTeamWorldTreeModelsChanged" C_UtlVectorEmbeddedNetworkVar< TreeModelReplacement_t > m_vecWorldTreeModelReplacements; // 0xd78 // MNetworkEnable Vector2D m_vDesiredWardPlacement[2]; // 0xdc8 // MNetworkEnable int32_t m_nEnemyStartingPosition[5]; // 0xdd8 // MNetworkEnable int32_t m_nTotalEventPoints; // 0xdec // MNetworkEnable int32_t m_nCaptainInspectedHeroID; // 0xdf0 // MNetworkEnable int32_t m_nFeaturedPlayerID; // 0xdf4 // MNetworkEnable float m_flSuggestedWardWeights[20]; // 0xdf8 // MNetworkEnable uint8_t m_nSuggestedWardIndexes[20]; // 0xe48 // MNetworkEnable int32_t m_iSuggestedLanes[5]; // 0xe5c // MNetworkEnable float m_iSuggestedLaneWeights[5]; // 0xe70 // MNetworkEnable bool m_bSuggestedLaneRoam[5]; // 0xe84 // MNetworkEnable bool m_bSuggestedLaneJungle[5]; // 0xe89 private: [[maybe_unused]] uint8_t __pad0e8e[0x2]; // 0xe8e public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< TierNeutralInfo_t > m_vecNeutralItemsTierInfo; // 0xe90 // MNetworkEnable C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsEarned; // 0xee0 // MNetworkEnable // MNetworkChangeCallback "OnTeamNeutralStashItemsChanged" C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecNeutralStashItems; // 0xef8 // MNetworkEnable C_NetworkUtlVectorBase< AbilityID_t > m_vecNeutralItemsConsumed; // 0xf10 // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< PingConfirmationState_t > m_PingConfirmationStates; // 0xf28 // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecKnownClearCamps; // 0xf78 // MNetworkEnable Vector2D m_vPossibleWardPlacement[100]; // 0xf90 // MNetworkEnable float m_vPossibleWardRadii[100]; // 0x12b0 }; // Alignment: 0 // Size: 0x1440 class C_DOTA_DataRadiant : public C_DOTA_DataNonSpectator { public: // No members available }; // Alignment: 0 // Size: 0x1440 class C_DOTA_DataDire : public C_DOTA_DataNonSpectator { public: // No members available }; // Alignment: 0 // Size: 0x1440 class C_DOTA_DataCustomTeam : public C_DOTA_DataNonSpectator { public: // No members available }; // Alignment: 18 // Size: 0x17b8 class C_DOTA_DataSpectator : public C_DOTA_DataNonSpectator { public: // MNetworkEnable CHandle< C_BaseEntity > m_hPowerupRune_1; // 0x1440 // MNetworkEnable CHandle< C_BaseEntity > m_hPowerupRune_2; // 0x1444 // MNetworkEnable CHandle< C_BaseEntity > m_hBountyRune_1; // 0x1448 // MNetworkEnable CHandle< C_BaseEntity > m_hBountyRune_2; // 0x144c // MNetworkEnable CHandle< C_BaseEntity > m_hBountyRune_3; // 0x1450 // MNetworkEnable CHandle< C_BaseEntity > m_hBountyRune_4; // 0x1454 // MNetworkEnable CHandle< C_BaseEntity > m_hXPRune_1; // 0x1458 // MNetworkEnable CHandle< C_BaseEntity > m_hXPRune_2; // 0x145c // MNetworkEnable int32_t m_iNetWorth[24]; // 0x1460 // MNetworkEnable float m_fRadiantWinProbability; // 0x14c0 // MNetworkEnable int32_t m_iGoldSpentOnSupport[24]; // 0x14c4 // MNetworkEnable int32_t m_iHeroDamage[24]; // 0x1524 // MNetworkEnable int32_t m_nWardsPurchased[24]; // 0x1584 // MNetworkEnable int32_t m_nWardsPlaced[24]; // 0x15e4 // MNetworkEnable int32_t m_nWardsDestroyed[24]; // 0x1644 // MNetworkEnable int32_t m_nRunesActivated[24]; // 0x16a4 // MNetworkEnable int32_t m_nCampsStacked[24]; // 0x1704 private: [[maybe_unused]] uint8_t __pad1764[0x4]; // 0x1764 public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x1768 }; // Alignment: 4 // Size: 0xdc0 class CBasePortraitData { private: [[maybe_unused]] uint8_t __pad0000[0x3f0]; // 0x0 public: CStrongHandle< InfoForResourceTypeCModel > m_iModelIndex; // 0x3f0 CUtlStringToken m_skin; // 0x3f8 private: [[maybe_unused]] uint8_t __pad03fc[0x9a0]; // 0x3fc public: bool m_bHasSetupView; // 0xd9c private: [[maybe_unused]] uint8_t __pad0d9d[0x1b]; // 0xd9d public: float m_flRotation; // 0xdb8 }; // Alignment: 2 // Size: 0xdf0 class CPortraitData : public CBasePortraitData { public: CUtlVector< CHandle< C_BaseEntity > > m_RenderList; // 0xdc0 CHandle< C_BaseEntity > m_hHero; // 0xdd8 }; // Alignment: 0 // Size: 0x530 class C_CaptureCallbackHandler : public C_BaseEntity { public: // No members available }; // Alignment: 11 // Size: 0x58 class C_DOTA_TrackingProjectileInfo { public: int32_t m_iHandle; // 0x0 int32_t m_iMoveSpeed; // 0x4 Vector m_vLocation; // 0x8 CHandle< C_BaseEntity > m_hSource; // 0x14 CHandle< C_BaseEntity > m_hTarget; // 0x18 Vector m_vTargetLocation; // 0x1c bool m_bDodgeable; // 0x28 bool m_bIsAttack; // 0x29 bool m_bIsEvaded; // 0x2a private: [[maybe_unused]] uint8_t __pad002b[0x1]; // 0x2b public: GameTime_t m_flExpireTime; // 0x2c GameTime_t m_flMaxImpactTime; // 0x30 }; // Alignment: 10 // Size: 0x90 class C_DOTA_LinearProjectileInfo { private: [[maybe_unused]] uint8_t __pad0000[0x20]; // 0x0 public: CTransform m_transform; // 0x20 int32_t m_iHandle; // 0x40 Vector m_vInitPosition; // 0x44 Vector m_vPosition; // 0x50 Vector m_vVelocity; // 0x5c Vector m_vAcceleration; // 0x68 float m_flMaxSpeed; // 0x74 float m_flFowRadius; // 0x78 bool m_bStickyFoWReveal; // 0x7c private: [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d public: float m_flDistance; // 0x80 }; // Alignment: 100 // Size: 0x3d0 class CLightInfoBase { private: [[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0 public: Vector2D m_origin2D; // 0x10 Color m_Color[2]; // 0x18 float m_LightScale[2]; // 0x20 Color m_AmbientColor[2]; // 0x28 float m_AmbientScale[2]; // 0x30 Color m_ShadowColor[2]; // 0x38 Color m_ShadowSecondaryColor[2]; // 0x40 float m_ShadowScale[2]; // 0x48 float m_ShadowGroundScale[2]; // 0x50 Color m_SpecularColor[2]; // 0x58 float m_flSpecularPower[2]; // 0x60 float m_flSpecularIndependence[2]; // 0x68 Vector m_SpecularDirection[2]; // 0x70 Vector m_InspectorSpecularDirection[2]; // 0x88 Vector m_LightDirection[2]; // 0xa0 Vector m_AmbientDirection[2]; // 0xb8 Color m_FogColor[2]; // 0xd0 float m_FogStart[2]; // 0xd8 float m_FogEnd[2]; // 0xe0 float m_HeightFogValue[2]; // 0xe8 Color m_HeightFogColor[2]; // 0xf0 float m_FoWDarkness[2]; // 0xf8 float m_FoWColorR[2]; // 0x100 float m_FoWColorG[2]; // 0x108 float m_FoWColorB[2]; // 0x110 Color m_InspectorViewFogColor[2]; // 0x118 QAngle m_windAngle; // 0x120 float m_flWindAmount[2]; // 0x12c float m_flMinWind; // 0x134 float m_flMaxWind; // 0x138 float m_flMinGust; // 0x13c float m_flMaxGust; // 0x140 float m_flMinGustDelay; // 0x144 float m_flMaxGustDelay; // 0x148 float m_flGustDuration; // 0x14c float m_flGustDirChange; // 0x150 QAngle m_skyboxAngle[2]; // 0x154 private: [[maybe_unused]] uint8_t __pad016c[0x4]; // 0x16c public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyboxMaterial[2]; // 0x170 Color m_vSkyboxTintColor[2]; // 0x180 uint8_t m_nSkyboxFogType; // 0x188 private: [[maybe_unused]] uint8_t __pad0189[0x3]; // 0x189 public: float m_flSkyboxAngularFogMaxEnd; // 0x18c float m_flSkyboxAngularFogMaxStart; // 0x190 float m_flSkyboxAngularFogMinStart; // 0x194 float m_flSkyboxAngularFogMinEnd; // 0x198 Vector4D m_vAngularParams; // 0x19c Color m_vHeightFogColor[2]; // 0x1ac float m_flFogMaxZ; // 0x1b4 float m_flFogDensity[2]; // 0x1b8 float m_flFogFalloff; // 0x1c0 private: [[maybe_unused]] uint8_t __pad01c4[0x4]; // 0x1c4 public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogTexture0; // 0x1c8 float m_flFogLayer0Rotation; // 0x1d0 float m_flFogLayer0Scale; // 0x1d4 float m_flFoglayer0ScrollU[2]; // 0x1d8 float m_flFoglayer0ScrollV[2]; // 0x1e0 CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogTexture1; // 0x1e8 float m_flFogLayer1Rotation; // 0x1f0 float m_flFogLayer1Scale; // 0x1f4 float m_flFoglayer1ScrollU[2]; // 0x1f8 float m_flFoglayer1ScrollV[2]; // 0x200 CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogTextureOpacity; // 0x208 CStrongHandle< InfoForResourceTypeCTextureBase > m_hWaterFlowMapTexture; // 0x210 CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogFlowMapTexture; // 0x218 float m_flFogExclusionInnerRadius; // 0x220 float m_flFogExclusionHeightBias; // 0x224 private: [[maybe_unused]] uint8_t __pad0228[0x4]; // 0x228 public: float m_flCausticSpeedScale; // 0x22c float m_flCausticAmplitudeScale; // 0x230 private: [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hColorWarp; // 0x238 float m_flColorWarpBlendToFull; // 0x240 float m_fInnerRadius; // 0x244 float m_fOuterRadius; // 0x248 float m_flLightning_specular_pow_scale_min; // 0x24c float m_flLightning_specular_pow_scale_max; // 0x250 Color m_lightningColor; // 0x254 float m_flLightningIntensityMin; // 0x258 float m_flLightningIntensityMax; // 0x25c float m_flLightningElevation; // 0x260 float m_flLightningSpecularIntensity; // 0x264 float m_flFarZOverride; // 0x268 float m_flAmbientShadowAmount; // 0x26c int32_t m_nWeatherType; // 0x270 private: [[maybe_unused]] uint8_t __pad0274[0x4]; // 0x274 public: CUtlString m_WeatherEffect; // 0x278 float m_flLightning_period_min; // 0x280 float m_flLightning_period_max; // 0x284 float m_flLightning_duration_min; // 0x288 float m_flLightning_duration_max; // 0x28c float m_flLightning_fluctuation_min; // 0x290 float m_flLightning_fluctuation_max; // 0x294 char m_pszLightningSound[260]; // 0x298 float m_flNextLightningStartTime; // 0x39c float m_flNextLightningEndTime; // 0x3a0 float m_flLightningFluctuationTimeStart; // 0x3a4 float m_flLightningFluctuationTimeEnd; // 0x3a8 float m_flLightningNumFluctuations; // 0x3ac float m_flNextLightningSoundTime; // 0x3b0 bool m_bPlayLightingSound; // 0x3b4 private: [[maybe_unused]] uint8_t __pad03b5[0x3]; // 0x3b5 public: float m_flLightningEventMagnitude; // 0x3b8 float m_flLightningScale; // 0x3bc float m_flLightningFluctuation; // 0x3c0 float m_flLightningAngle; // 0x3c4 float m_flLightningEventPercentage; // 0x3c8 }; // Alignment: 0 // Size: 0x8f8 class C_DOTA_LightInfo : public C_BaseEntity { public: // No members available }; // Alignment: 3 // Size: 0x20 struct CandyShopCandyType_t { public: // MPropertyDescription "unique integer ID of this candy type" CandyShopCandyTypeID_t m_unCandyTypeID; // 0x0 // MPropertyDescription "localization name of the candy type" CUtlString m_sLocName; // 0x8 // MPropertyDescription "the image used for this candy type" CPanoramaImageName m_sImage; // 0x10 }; // Alignment: 11 // Size: 0x40 struct CandyShopRewardOption_t { public: // MPropertyDescription "A unique ID for this reward option." CandyShopRewardOptionID_t m_unRewardOptionID; // 0x0 // MPropertyDescription "A CSS class to assign to rewards of this type" CUtlString m_sRewardClass; // 0x8 // MPropertyDescription "The maximum number of this reward option to grant. 0 means infinite" uint32_t m_unRewardOptionMaxCount; // 0x10 // MPropertyDescription "what are the odds that this option will be picked compared to other options" uint32_t m_unWeight; // 0x14 // MPropertyDescription "How many candy does it cost for one of these rewards" uint32_t m_unCandyPrice; // 0x18 // MPropertyDescription "how should rewards for this option be generated?" // MPropertyAttributeChoiceEnumName ECandyShopRewardOptionType m_eOptionType; // 0x1c // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleItem, what is the item def." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleItem" item_definition_index_t m_unSingleItemDef; // 0x20 private: [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 public: // MPropertyDescription "For k_eCandyShopRewardOptionType_LootList, what is the loot list to get the reward from." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_LootList" CUtlString m_sLootList; // 0x28 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the event id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction && m_eOptionType != k_eCandyShopRewardOptionType_EventPoints" // MPropertyAttributeChoiceEnumName EEvent m_eEvent; // 0x30 // MPropertyDescription "For k_eCandyShopRewardOptionType_SingleEventAction, what is the action id for the action." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_SingleEventAction" uint32_t m_unEventActionID; // 0x34 // MPropertyDescription "For k_eCandyShopRewardOptionType_EventPoints, what is the amount of event points." // MPropertySuppressExpr "m_eOptionType != k_eCandyShopRewardOptionType_EventPoints" uint32_t m_unEventPoints; // 0x38 }; // Alignment: 2 // Size: 0x20 struct CandyShopRewardSlot_t { public: // MPropertyDescription "A CSS class to assign to this slot" CUtlString m_sSlotClass; // 0x0 CUtlVector< CandyShopRewardOption_t > m_vecSlotRewardOptions; // 0x8 }; // Alignment: 16 // Size: 0xc0 class CDOTACandyShopDefinition { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MPropertyDescription "unique integer ID of this candy shop" CandyShopID_t m_unCandyShopID; // 0x8 // MPropertyDescription "localization name of the candy shop" CUtlString m_sLocName; // 0x10 // MPropertyDescription "default inventory size" uint32_t m_unDefaultInventorySize; // 0x18 private: [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: // MPropertyDescription "the image used to display an inventory size upgrade" CPanoramaImageName m_sInventorySizeUpgradeImage; // 0x20 // MPropertyDescription "default reroll charges" uint32_t m_unDefaultRerollCharges; // 0x30 // MPropertyDescription "candy bag item def" item_definition_index_t m_unCandyBagItemDef; // 0x34 // MPropertyDescription "Maximum number of input or output candies for fixed exchange recipes." uint8_t m_unFixedExchangeRecipeMaxCandies; // 0x38 private: [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: // MPropertyDescription "Start date for the fixed exchange recipes." uint32_t m_unFixedExchangeRecipeStartDate; // 0x3c // MPropertyDescription "Frequency of updating fixed exchange recipes in seconds." uint32_t m_unFixedExchangeRecipeUpdateRateInSeconds; // 0x40 // MPropertyDescription "Number of fixed exchange recipes." uint8_t m_unFixedExchangeRecipeCount; // 0x44 // MPropertyDescription "Input candy count for variable exchange recipe" uint8_t m_unVariableExchangeInputCandyCount; // 0x45 // MPropertyDescription "Output candy count for variable exchange recipe" uint8_t m_unVariableExchangeOutputCandyCount; // 0x46 private: [[maybe_unused]] uint8_t __pad0047[0x1]; // 0x47 public: // MPropertyDescription "After this event expires, you can no longer interact with this candy shop." // MPropertyAttributeChoiceEnumName EEvent m_eExpireEvent; // 0x48 private: [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c public: CUtlVector< CandyShopCandyType_t > m_vecCandyTypes; // 0x50 CUtlVector< CandyShopRewardSlot_t > m_vecRewardSlots; // 0x68 CUtlVector< CandyShopRewardOption_t > m_vecDefaultRewardOptions; // 0x80 }; // Alignment: 0 // Size: 0x530 class C_PortraitWorldCallbackHandler : public C_BaseEntity { public: // No members available }; // Alignment: 9 // Size: 0x578 class CDOTA_DB_Page_StickerEntity : public C_BaseEntity { public: bool m_bIsPlaced; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: item_definition_index_t m_ItemDefinitionIndex; // 0x52c private: [[maybe_unused]] uint8_t __pad0530[0xc]; // 0x530 public: float m_flStickerScale; // 0x53c uint16_t m_unDepthBias; // 0x540 private: [[maybe_unused]] uint8_t __pad0542[0x2]; // 0x542 public: int32_t m_nStickerNumber; // 0x544 int32_t m_nDbPageNumber; // 0x548 bool m_bVisible; // 0x54c private: [[maybe_unused]] uint8_t __pad054d[0x23]; // 0x54d public: uint32_t m_hDecalSpawnGroupHandle; // 0x570 uint32_t m_hDynamicPropSpawnGroupHandle; // 0x574 }; // Alignment: 2 // Size: 0x1358 class C_SpeechBubbleManager : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "m_SpeechBubbles" C_UtlVectorEmbeddedNetworkVar< C_SpeechBubbleInfo > m_SpeechBubbles; // 0x528 private: [[maybe_unused]] uint8_t __pad0a88[0x840]; // 0xa88 public: uint32_t m_nLastCountInQueue[4]; // 0x12c8 }; // Alignment: 0 // Size: 0x528 class C_FoWBlockerEntity : public C_BaseEntity { public: // No members available }; // Alignment: 2 // Size: 0x530 class C_FoWRevealerEntity : public C_BaseEntity { public: uint32_t m_unViewerTeam; // 0x528 int32_t m_nVisionRange; // 0x52c }; // Alignment: 6 // Size: 0x48 struct FowBlocker_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable float m_flMinX; // 0x30 // MNetworkEnable float m_flMaxX; // 0x34 // MNetworkEnable float m_flMinY; // 0x38 // MNetworkEnable float m_flMaxY; // 0x3c // MNetworkEnable FowBlockerShape_t m_fowBlockerShape; // 0x40 // MNetworkEnable bool m_bClearRegion; // 0x44 }; // Alignment: 6 // Size: 0x590 class CFoWBlockerRegion : public C_BaseEntity { public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< FowBlocker_t > m_vecFowBlockers; // 0x528 // MNetworkEnable float m_flMinX; // 0x578 // MNetworkEnable float m_flMaxX; // 0x57c // MNetworkEnable float m_flMinY; // 0x580 // MNetworkEnable float m_flMaxY; // 0x584 // MNetworkEnable float m_flGridSize; // 0x588 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AttributeBonus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AttributeBonus : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Base : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Undefined : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl15_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl20_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl25_r : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl10_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl15_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl20_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_lvl25_l : public C_DOTA_Ability_Special_Bonus_Gold_Ability_Draft { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_125 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_225 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_275 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_325 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_350 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_375 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_450 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_475 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_500 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_600 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_650 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_700 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_800 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_900 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_1000 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_125 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_225 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_275 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_350 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_500 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_600 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_700 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_800 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_1000 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Base_Attack_Rate_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_45 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_55 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_70 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_80 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_110 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_120 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_140 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_160 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_225 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Speed_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Corruption_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Corruption_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Corruption_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Corruption_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_130 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_140 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cleave_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Haste : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_TrueStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Reincarnation_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Reincarnation_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Reincarnation_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Block_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Block_18 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Block_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Break_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Break_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Break_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Break_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Break_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Immunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_HP_Regen_80 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_125 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_Amp_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Mana_Reduction_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_MP_Regen_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_Percentage_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Speed_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_45 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_65 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_90 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Movement_Speed_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_All_Stats_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attributes : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_And_Intelligence_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Intelligence_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_18 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Strength_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_80 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Agility_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Armor_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Status_Resistance_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_80 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Magic_Resistance_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Day_Vision_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Night_Vision_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Night_Vision_500 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Night_Vision_600 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Night_Vision_800 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Night_Vision_1000 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Vision_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_45 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Base_Damage_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_18 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_45 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_55 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_65 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_70 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_80 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_90 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_120 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_160 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_251 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_252 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Damage_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_125 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_275 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_325 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Attack_Range_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_125 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_175 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_200 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_225 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_250 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_275 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_325 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_350 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cast_Range_400 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_18 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Amplify_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Cooldown_Reduction_65 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_45 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Respawn_Reduction_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_90 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_120 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_150 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_180 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_210 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_240 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_300 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Gold_Income_420 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_16 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Evasion_75 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Spell_Lifesteal_70 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_18 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Lifesteal_100 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_20_Bash_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_24_Crit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_30_Crit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_20_Crit_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_50_Crit_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_15 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_20 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_25 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_30 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_35 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_40 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_50 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Exp_Boost_60 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Queen_Of_Pain_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Broodmother_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lone_Druid_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wisp_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Techies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Techies_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Arc_Warden_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Invoker_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ancient_Apparition_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Gyrocopter_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Legion_Commander_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pugna_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Windranger_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Death_Prophet_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sniper_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Monkey_King_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Riki_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tusk_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Medusa_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ogre_Magi_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Silencer_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Elder_Titan_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ember_Spirit_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lifestealer_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slark_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spectre_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Spirit_Breaker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Storm_Spirit_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tidehunter_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tinker_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Troll_Warlord_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Viper_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Brewmaster_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Luna_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Faceless_Void_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nyx_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Weaver_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Ursa_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lycan_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bristleback_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Abaddon_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Alchemist_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Juggernaut_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Winter_Wyvern_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Terrorblade_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phoenix_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enchantress_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Wraith_King_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Kunkka_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bloodseeker_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earth_Spirit_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Timbersaw_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Huskar_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Naga_Siren_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sand_King_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Demon_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dragon_Knight_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Morphling_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bane_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Nevermore_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Templar_Assassin_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Crystal_Maiden_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Doom_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Vengeful_Spirit_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Venomancer_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Earthshaker_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Shadow_Shaman_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Warlock_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dazzle_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Visage_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Omniknight_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Necrophos_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Antimage_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Mirana_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Bounty_Hunter_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Treant_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff { public: float value; // 0x11e8 float value2; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff { public: float crit_chance; // 0x11e8 float crit_multiplier; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff { public: int32_t value; // 0x11e8 int32_t burn_illusions_ranged; // 0x11ec int32_t burn_illusions_melee; // 0x11f0 float damage_per_burn; // 0x11f4 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff { public: float block_cooldown; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CountdownTimer m_CooldownTimer; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff { public: float value; // 0x11e8 float reincarnate_time; // 0x11ec GameTime_t m_fLastReincarnationTime; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff { public: float value; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff { public: int32_t value; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Stacking_Exp_Rate_Boost : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pangolier_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x730 class C_DOTASpecGraphPlayerData : public C_BaseEntity { public: // MNetworkEnable int32_t m_rgGoldPerMinute[64]; // 0x528 // MNetworkEnable int32_t m_rgXPPerMinute[64]; // 0x628 // MNetworkEnable PlayerID_t m_nCreatedByPlayerID; // 0x728 }; // Alignment: 21 // Size: 0xa80 class C_DOTASpectatorGraphManager { private: [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x28 int32_t m_nPlayerDataCount; // 0x50 private: [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: CountdownTimer m_SendTeamStatsTimer; // 0x58 bool m_bTrackingTeamStats; // 0x70 private: [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 public: GameTime_t m_flStartTime; // 0x74 PlayerID_t m_nNextUpdatePlayer; // 0x78 private: [[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c 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 }; // Alignment: 1 // Size: 0x530 class C_DOTASpectatorGraphManagerProxy : public C_BaseEntity { public: // MNetworkEnable // MNetworkTypeAlias "CDOTASpectatorGraphManager*" C_DOTASpectatorGraphManager* m_pGraphManager; // 0x528 // Static fields: static C_DOTASpectatorGraphManagerProxy* &Get_s_pDotaSpectatorGraphProxy(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTASpectatorGraphManagerProxy")->m_static_fields[0]->m_instance);}; }; // Alignment: 10 // Size: 0x50 struct TempViewerInfo_t { private: [[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0 public: // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" int32_t m_nGridX; // 0x30 // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" int32_t m_nGridY; // 0x34 // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" int32_t m_nRadius; // 0x38 // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" int8_t m_nViewerType; // 0x3c // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" bool m_bObstructedVision; // 0x3d // MNetworkEnable // MNetworkChangeCallback "OnFieldChanged" bool m_bValid; // 0x3e // MNetworkDisable bool m_bDirty; // 0x3f // MNetworkDisable GameTime_t flEndTime; // 0x40 // MNetworkDisable int32_t nFoWID; // 0x44 // MNetworkDisable CHandle< C_BaseEntity > hOwner; // 0x48 }; // Alignment: 3 // Size: 0x588 class C_DOTAFogOfWarTempViewers : public C_BaseEntity { public: // MNetworkEnable uint32_t m_FoWTempViewerVersion; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< TempViewerInfo_t > m_TempViewerInfo; // 0x530 int32_t m_dota_spectator_fog_of_war_last; // 0x580 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Consumable_Hidden : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff { public: float grace_period; // 0x11e8 int32_t search_distance; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Throw_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Throw_Coal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Healing_Campfire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_ShootFirework : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff { public: int32_t heal_amount; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Seasonal_Throw_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Seasonal_Summon_Snowman : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff { public: float grace_period; // 0x11e8 int32_t search_distance; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Seasonal_Summon_Penguin : public C_DOTABaseAbility { public: int32_t spawn_offset; // 0x5a0 }; // Alignment: 31 // Size: 0x1290 class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff { public: float m_fLifetimeGained; // 0x11e8 Vector m_vTargetPos; // 0x11ec int32_t m_nCurrentSpeed; // 0x11f8 GameTime_t m_fLastBumpTime; // 0x11fc Vector m_vLastPos; // 0x1200 CHandle< C_BaseEntity > m_hLastHit; // 0x120c Vector m_vDir; // 0x1210 Vector m_vRunEndPos; // 0x121c bool m_bIsInInitialRun; // 0x1228 private: [[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229 public: Vector m_vJumpEndPos; // 0x122c bool m_bPlayedVroomSinceLastCrash; // 0x1238 private: [[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239 public: ParticleIndex_t m_nVroomFX; // 0x123c GameTime_t m_fLastSpeedStepTime; // 0x1240 GameTime_t m_fLastSpeechTime; // 0x1244 ParticleIndex_t m_nFXStackIndex; // 0x1248 int32_t m_nBumpsSinceLastCrash; // 0x124c CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1250 int32_t initial_speed; // 0x1254 int32_t max_speed; // 0x1258 int32_t speed_step; // 0x125c float speed_step_interval; // 0x1260 float bump_delay; // 0x1264 float bump_delay_absolute; // 0x1268 int32_t bump_collision_radius; // 0x126c int32_t run_distance; // 0x1270 int32_t jump_distance; // 0x1274 int32_t speed_after_crash; // 0x1278 int32_t speed_gain_per_hero_bump; // 0x127c float max_gainable_lifetime; // 0x1280 float lifetime_gain_per_hero_bump; // 0x1284 float min_speech_repeat_time; // 0x1288 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Seasonal_Decorate_Tree : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Seasonal_Festive_Firework : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_FestiveFirework : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_Firecrackers : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_Firecrackers : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_Summon_Dragon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff { public: float grace_period; // 0x11e8 int32_t search_distance; // 0x11ec float think_interval; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_Summon_CNY_Tree : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_Summon_CNY_Balloon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 14 // Size: 0x1230 class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff { public: float speed; // 0x11e8 int32_t min_distance_before_bounce; // 0x11ec float drag; // 0x11f0 float max_height; // 0x11f4 float max_vertical_move_time; // 0x11f8 float bounce_turn_angle; // 0x11fc float bounce_turn_angle_tree; // 0x1200 float bounce_delay; // 0x1204 Vector m_vLastPos; // 0x1208 Vector m_vDir; // 0x1214 float m_flSpeed; // 0x1220 float m_flDistRemaining; // 0x1224 float m_flTreeTimeRemaining; // 0x1228 CHandle< C_BaseEntity > m_hLastHit; // 0x122c }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_Summon_TI9_Balloon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 14 // Size: 0x1230 class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff { public: float speed; // 0x11e8 int32_t min_distance_before_bounce; // 0x11ec float drag; // 0x11f0 float max_height; // 0x11f4 float max_vertical_move_time; // 0x11f8 float bounce_turn_angle; // 0x11fc float bounce_turn_angle_tree; // 0x1200 float bounce_delay; // 0x1204 Vector m_vLastPos; // 0x1208 Vector m_vDir; // 0x1214 float m_flSpeed; // 0x1220 float m_flDistRemaining; // 0x1224 float m_flTreeTimeRemaining; // 0x1228 CHandle< C_BaseEntity > m_hLastHit; // 0x122c }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI9_Banner : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI9_Drums_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI9_Instruments : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker { public: CHandle< C_BaseEntity > m_hHero; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI9_Shovel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff { public: bool m_bFirstThink; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: GameTime_t m_flStartTime; // 0x11ec Vector m_vecStartingPos; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI9_MonkeyPoop : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI9_Monkey : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lesser_NightCrawler_Pounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff { public: int32_t pounce_distance; // 0x11e8 float pounce_speed; // 0x11ec float pounce_acceleration; // 0x11f0 int32_t pounce_radius; // 0x11f4 int32_t pounce_damage; // 0x11f8 float leash_duration; // 0x11fc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zombie_Berserk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff { public: int32_t berserk_bonus_attack_speed; // 0x11e8 int32_t berserk_bonus_movement_speed; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Corspselord_Revive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t ticks_to_revive; // 0x11ec float tick_interval; // 0x11f0 CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x11f4 int32_t m_nCurrentTicks; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slithereen_Riptide : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x5e8 class C_DOTA_Ability_Creature_Fire_Breath : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t projectile_count; // 0x5a4 float rotation_angle; // 0x5a8 float damage; // 0x5ac float radius; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CountdownTimer ctTimer; // 0x5b8 Vector m_vecStartRot; // 0x5d0 Vector m_vecEndRot; // 0x5dc }; // Alignment: 9 // Size: 0x5e8 class C_DOTA_Ability_Creature_Ice_Breath : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t projectile_count; // 0x5a4 float rotation_angle; // 0x5a8 float damage; // 0x5ac float radius; // 0x5b0 float slow_duration; // 0x5b4 CountdownTimer ctTimer; // 0x5b8 Vector m_vecStartRot; // 0x5d0 Vector m_vecEndRot; // 0x5dc }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Creature_IceSlam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 ParticleIndex_t m_nPathEffectIndex; // 0x11ec }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_GreaterClarity : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff { public: int32_t total_mana; // 0x11e8 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UpgradedMortar : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff { public: int32_t bonus_per_upgrade; // 0x11e8 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UpgradedBarricade : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff { public: int32_t armor_bonus_per_upgrade; // 0x11e8 int32_t hp_bonus_per_upgrade; // 0x11ec }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff { public: CountdownTimer m_ctTimer; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff { public: float m_flOriginalAvoidance; // 0x11e8 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BagOfGold : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ItemWiggle_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Throw_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Summon_Snowman : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff { public: float tick_rate; // 0x11e8 int32_t taunt_radius; // 0x11ec float taunt_duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hZombieTarget; // 0x11e8 bool m_bDidSetAttackTarget; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Decorate_Tree : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff { public: int32_t num_explosions; // 0x11e8 int32_t radius; // 0x11ec float m_fExplosions; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Festive_Firework : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff { public: int32_t miss_rate; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float duration; // 0x11ec float tick_interval; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff { public: int32_t damage_per_tick; // 0x11e8 float tick_interval; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeLock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff { public: float duration; // 0x11e8 float duration_creep; // 0x11ec int32_t chance_pct; // 0x11f0 int32_t bonus_damage; // 0x11f4 int32_t radius; // 0x11f8 }; // Alignment: 1 // Size: 0x1200 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff { public: CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11e8 }; // Alignment: 2 // Size: 0x8 class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources { public: GameTime_t flTime; // 0x0 float flAmount; // 0x4 }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeWalk : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t range; // 0x5a4 int32_t radius; // 0x5a8 int32_t damage; // 0x5ac }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Frostivus2018_Luna_LucentBeam : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Luna_Eclipse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 15 // Size: 0x1248 class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t radius; // 0x11ec int32_t beams; // 0x11f0 int32_t hit_count; // 0x11f4 int32_t m_iBeamDamage; // 0x11f8 float m_flBeamStun; // 0x11fc Vector vPosition; // 0x1200 int32_t lucent_beam_radius; // 0x120c bool bAreaTarget; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_iTickCount; // 0x1214 ParticleIndex_t m_nMoonlightFXIndex; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1220 float beam_interval; // 0x1238 float beam_interval_scepter; // 0x123c float m_flInterval; // 0x1240 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Clinkz_Strafe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff { public: int32_t attack_speed_bonus_pct; // 0x11e8 int32_t attack_spill_width; // 0x11ec int32_t attack_spill_range; // 0x11f0 float spill_damage_multiplier; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Clinkz_SearingArrows : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1218 class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff { public: CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8 bool m_bBonusAttack; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: int32_t damage_bonus; // 0x1204 int32_t attack_spill_width; // 0x1208 int32_t attack_spill_range; // 0x120c float spill_damage_multiplier; // 0x1210 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Clinkz_WindWalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 7 // Size: 0x1228 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible { public: CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8 bool m_bFreePathing; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t move_speed_bonus_pct; // 0x1214 int32_t radius; // 0x1218 int32_t attack_steal_amount; // 0x121c float attack_steal_duration; // 0x1220 int32_t max_stacks; // 0x1224 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff { public: int32_t bonus_base_dmg_per_stack; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff { public: int32_t attack_steal_amount; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Frostivus2018_Clinkz_Burning_Army : public C_DOTABaseAbility { public: int32_t range; // 0x5a0 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff { public: int32_t m_iCount; // 0x11e8 Vector m_vFacePosition; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff { public: float attack_rate; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_BroodBaby_Launch : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x5c0 class CDOTA_Ability_Tusk_SnowballMeteor : public C_DOTABaseAbility { public: int32_t area_of_effect; // 0x5a0 float damage_interval; // 0x5a4 int32_t vision_distance; // 0x5a8 float end_vision_duration; // 0x5ac float main_damage; // 0x5b0 float burn_duration; // 0x5b4 float burn_dps; // 0x5b8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tusk_SnowballMeteor_Burn : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Frostivus2018_Tusk_WalrusKick : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXKickIndex; // 0x5a0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff { public: int32_t move_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff { public: int32_t hp_threshold; // 0x11e8 }; // Alignment: 4 // Size: 0x5d0 class C_DOTA_Ability_Frostivus2018_Windrunner_Shackleshot : public C_DOTABaseAbility { public: int32_t shackle_count; // 0x5a0 Vector m_vArrowStartPos; // 0x5a4 CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_DarkWillow_ShadowRealm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff { public: GameTime_t m_flStartTime; // 0x11e8 float damage; // 0x11ec float max_damage_duration; // 0x11f0 float slow_radius; // 0x11f4 float burn_duration; // 0x11f8 float burn_damage; // 0x11fc float slow_attack_speed_pct; // 0x1200 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff { public: float burn_damage; // 0x11e8 int32_t move_slow; // 0x11ec float m_flDamageScale; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff { public: float latch_creation_interval; // 0x11e8 float initial_creation_delay; // 0x11ec int32_t placement_count; // 0x11f0 float placement_duration; // 0x11f4 int32_t m_iBramblesIndex; // 0x11f8 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff { public: int32_t latch_count; // 0x11e8 int32_t latch_range; // 0x11ec int32_t latch_vision; // 0x11f0 float latch_creation_delay; // 0x11f4 float latch_duration; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11fc[0x8]; // 0x11fc public: bool m_bActive; // 0x1204 private: [[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205 public: int32_t m_nLatchedEnemies; // 0x1208 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_DarkWillow_Bedlam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff { public: float m_flRotation; // 0x11e8 CHandle< C_BaseEntity > m_hWisp; // 0x11ec GameTime_t m_flLastAttack; // 0x11f0 int32_t roaming_radius; // 0x11f4 int32_t attack_radius; // 0x11f8 float roaming_seconds_per_rotation; // 0x11fc float attack_interval; // 0x1200 int32_t attack_targets; // 0x1204 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Frostivus2018_Puck_DreamCoil : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 }; // Alignment: 10 // Size: 0x1238 class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11e8 int32_t coil_radius; // 0x1200 int32_t coil_break_radius; // 0x1204 float coil_stun_duration; // 0x1208 float coil_stun_duration_scepter; // 0x120c float coil_slow; // 0x1210 int32_t coil_break_damage; // 0x1214 int32_t coil_break_damage_scepter; // 0x1218 bool m_bHasScepter; // 0x121c private: [[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d public: CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1220 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Puck_Coiled : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Frostivus2018_Spectre_ActiveDispersion : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff { public: int32_t damage_reflection_pct; // 0x11e8 }; // Alignment: 10 // Size: 0x1240 class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: float m_fDamage; // 0x11e8 float m_fLastRadius; // 0x11ec float m_fCurRadius; // 0x11f0 GameTime_t m_fLastThink; // 0x11f4 bool m_bContracting; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 public: CountdownTimer m_ViewerTimer; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1220 int32_t speed; // 0x1238 int32_t radius; // 0x123c }; // Alignment: 8 // Size: 0x5d8 class CDOTA_Ability_Frostivus2018_Centaur_Stampede : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t base_damage; // 0x5a4 float strength_damage; // 0x5a8 float slow_duration; // 0x5ac CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 int32_t armor_amount; // 0x5c8 float armor_duration; // 0x5cc int32_t max_armor_stacks; // 0x5d0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff { public: int32_t slow_movement_speed; // 0x11e8 }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage_reduction; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff { public: int32_t bonus_base_armor_per_stack; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Centaur_Return : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff { public: int32_t return_damage; // 0x11e8 float strength_gain_duration; // 0x11ec int32_t max_stacks; // 0x11f0 int32_t ally_factor; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff { public: int32_t strength_gain; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Frostivus2018_Centaur_DoubleEdge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Huskar_Inner_Fire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x1208 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff { public: int32_t health_cost; // 0x11e8 int32_t spear_aoe; // 0x11ec CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Huskar_Burning_Spear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff { public: int32_t burn_damage; // 0x11e8 float tick_rate; // 0x11ec }; // Alignment: 4 // Size: 0x5b8 class C_DOTA_Ability_Frostivus2018_Huskar_Life_Break : public C_DOTABaseAbility { public: Vector m_vProjectileLocation; // 0x5a0 CHandle< C_BaseEntity > m_hTarget; // 0x5ac bool m_bInterrupted; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: int32_t max_damage; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Omniknight_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 int32_t bonus_health_regen; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Omniknight_Repel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Frostivus2018_Magnataur_Skewer : public C_DOTABaseAbility { public: int32_t skewer_radius; // 0x5a0 int32_t skewer_speed; // 0x5a4 int32_t range; // 0x5a8 int32_t tree_radius; // 0x5ac int32_t m_nTargetsHit; // 0x5b0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff { public: int32_t strength_gain; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Pangolier_ShieldCrash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Frostivus2018_Pangolier_ShieldCrash_Jump : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Frostivus2018_TrollWarlord_BattleTrance : public C_DOTABaseAbility { public: float trance_duration; // 0x5a0 }; // Alignment: 11 // Size: 0x1218 class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t lifesteal; // 0x11f0 int32_t bonus_damage_pct; // 0x11f4 float cleave_damage_pct; // 0x11f8 int32_t cleave_starting_width; // 0x11fc int32_t cleave_ending_width; // 0x1200 int32_t cleave_distance; // 0x1204 float splash_damage_pct; // 0x1208 int32_t splash_radius; // 0x120c CHandle< C_BaseEntity > m_hTarget; // 0x1210 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_TrollWarlord_Fervor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff { public: int32_t attack_speed; // 0x11e8 int32_t max_stacks; // 0x11ec CHandle< C_BaseEntity > m_hUnit; // 0x11f0 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff { public: int32_t aftershock_range; // 0x11e8 float stun_duration; // 0x11ec int32_t ability_damage; // 0x11f0 }; // Alignment: 7 // Size: 0x5d8 class C_DOTA_Ability_Frostivus2018_Rubick_GhostShip : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 float stun_duration; // 0x5a4 int32_t ghostship_width; // 0x5a8 int32_t ghostship_speed; // 0x5ac int32_t ghostship_distance; // 0x5b0 Vector m_vFinalDestination; // 0x5b4 Vector m_vStartingPoint; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Frostivus2018_Weaver_GeminateAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x1230 class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 int32_t m_iAttacksRemaining; // 0x11ec private: [[maybe_unused]] uint8_t __pad11f0[0x38]; // 0x11f0 public: int32_t arrow_count; // 0x1228 int32_t bonus_range; // 0x122c }; // Alignment: 7 // Size: 0x658 class C_DOTA_Item_SpookyTeleportScroll : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hTeleportTarget; // 0x630 ParticleIndex_t m_nFXOrigin; // 0x634 ParticleIndex_t m_nFXDestination; // 0x638 Vector m_vDestination; // 0x63c int32_t m_iMinDistance; // 0x648 float m_flBaseTeleportTime; // 0x64c float m_flExtraTeleportTime; // 0x650 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Diretide_Portal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hInvader; // 0x11e8 }; // Alignment: 4 // Size: 0x5b8 class CDOTA_Ability_Diretide_Portal_Channel : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 CHandle< C_BaseEntity > m_hInitialPortal; // 0x5a4 Vector m_vDestination; // 0x5a8 // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Diretide2020_HighFive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff { public: int32_t acknowledge_range; // 0x11e8 float think_interval; // 0x11ec float acknowledged_cooldown; // 0x11f0 bool m_bAcknowledged; // 0x11f4 bool m_bFirstThink; // 0x11f5 private: [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 public: int32_t high_five_level; // 0x11f8 }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Spring2021_DefusalBomb : public C_DOTA_Item { public: bool m_bInBombSite; // 0x630 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff { public: float BOMB_DURATION; // 0x11e8 float BOMB_FAST_TICK_START; // 0x11ec float BOMB_DEFAULT_TICK; // 0x11f0 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Spring2021_DefusalBomb_Defuse : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Spring2021_TowerDeathRing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x1240 class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 bool m_bWindingUp; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CountdownTimer m_ViewerTimer; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 int32_t speed; // 0x1230 int32_t radius; // 0x1234 int32_t damage; // 0x1238 float windup_time; // 0x123c }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Winter2022_EnableFeedableRoshanInteract : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Tower_BlastWave : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 8 // Size: 0x1238 class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff { public: float damage_pct; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CountdownTimer m_ViewerTimer; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 int32_t speed; // 0x1230 int32_t radius; // 0x1234 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_TempBuff_CorpseExplosion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff { public: int32_t corpse_explosion_radius; // 0x11e8 int32_t corpse_explosion_damage_pct; // 0x11ec int32_t corpse_explosion_chance_pct; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Reward_HPAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff { public: float bonus_hp; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Reward_CritAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff { public: int32_t crit_chance; // 0x11e8 int32_t crit_multiplier; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Reward_MagicResistAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff { public: int32_t bonus_magical_armor; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Reward_ArmorAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ascension_PlasmaField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 15 // Size: 0x1250 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff { public: float m_fLastRadius; // 0x11e8 float m_fCurRadius; // 0x11ec GameTime_t m_fLastThink; // 0x11f0 bool m_bWindingUp; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: CountdownTimer m_ViewerTimer; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x1210 private: [[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214 public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1218 int32_t speed; // 0x1230 int32_t radius; // 0x1234 int32_t damage_min; // 0x1238 int32_t damage_max; // 0x123c int32_t slow_min; // 0x1240 int32_t slow_max; // 0x1244 float slow_duration; // 0x1248 float windup_time; // 0x124c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff { public: int32_t slow_amount; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Ascension_Bulwark : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff { public: float physical_damage_reduction; // 0x11e8 float physical_damage_reduction_side; // 0x11ec float forward_angle; // 0x11f0 float side_angle; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Ascension_AcidBlood : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff { public: int32_t damage; // 0x11e8 int32_t radius; // 0x11ec ParticleIndex_t m_nFXIndex; // 0x11f0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ascension_Firefly : public C_DOTABaseAbility { public: // No members available }; // Alignment: 14 // Size: 0x1240 class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff { public: float pool_duration; // 0x11e8 int32_t radius; // 0x11ec int32_t m_ifirefly_Active; // 0x11f0 int32_t tree_radius; // 0x11f4 int32_t damage_pct_per_second; // 0x11f8 int32_t movement_speed; // 0x11fc float trail_placement_duration; // 0x1200 float burn_linger_duration; // 0x1204 bool m_bActive; // 0x1208 private: [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: ParticleIndex_t m_nFXIndex; // 0x120c ParticleIndex_t m_nFXIndexB; // 0x1210 GameTime_t m_flStartTime; // 0x1214 Vector m_vLastFirePoolLoc; // 0x1218 private: [[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224 public: CUtlVector< Vector > m_vFirePoolLocations; // 0x1228 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff { public: int32_t damage_pct_per_second; // 0x11e8 int32_t movement_speed; // 0x11ec float tick_interval; // 0x11f0 GameTime_t m_fNextDamageTick; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ascension_Silence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ascension_Silence_Display : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ascension_MagneticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t radius; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff { public: int32_t evasion_chance; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Ascension_Invis : public C_DOTABaseAbility { public: float warning_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff { public: int32_t impact_radius; // 0x11e8 float land_time; // 0x11ec float burn_duration; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Morty_Hop_Controller : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x5d8 class C_DOTA_Ability_Morty_Hop : public C_DOTABaseAbility { public: float max_distance; // 0x5a0 Vector m_vTarget; // 0x5a4 int32_t m_iTrackerProjectile; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morty_Hop_Launch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t height; // 0x11ec int32_t damage; // 0x11f0 int32_t damage_radius; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_ExplosiveBarrel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff { public: ParticleIndex_t m_nPreviewFX; // 0x11e8 int32_t radius; // 0x11ec int32_t damage; // 0x11f0 int32_t vision_radius; // 0x11f4 float vision_duration; // 0x11f8 int32_t model_scale; // 0x11fc bool bExploding; // 0x1200 private: [[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201 public: float stun_duration; // 0x1204 }; // Alignment: 10 // Size: 0x1228 class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff { public: itemid_t m_nCourierItemId; // 0x11e8 CUtlString m_ModelNameOfDisguise; // 0x11f0 private: [[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8 public: int32_t m_nMoveSpeed; // 0x1200 int32_t m_nDisguisedSpeed; // 0x1204 ParticleIndex_t m_nDisguiseEffectIndex; // 0x1208 CHandle< C_BaseEntity > m_hCourier; // 0x120c bool m_bIsFlyingCourier; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x7]; // 0x1211 public: char* s_pszDonkeyDisguise; // 0x1218 float invul_duration; // 0x1220 bool m_bParticlesSpawned; // 0x1224 }; // Alignment: 4 // Size: 0x658 class CDOTA_Ability_AghsFort_Ravage_Potion : public C_DOTA_Item { public: CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x630 int32_t damage; // 0x648 float duration; // 0x64c float spend_charge_delay; // 0x650 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Ravage_Potion : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x650 class CDOTA_Ability_AghsFort_Dragon_Potion : public C_DOTA_Item { public: int32_t bonus_movement_speed; // 0x630 int32_t bonus_attack_damage; // 0x634 int32_t bonus_attack_range; // 0x638 int32_t magic_resistance; // 0x63c int32_t model_scale; // 0x640 int32_t skin_number; // 0x644 bool flying_movement; // 0x648 }; // Alignment: 10 // Size: 0x1218 class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item { public: int32_t m_iOriginalAttackCapabilities; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec public: CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f0 int32_t bonus_movement_speed; // 0x11f8 int32_t bonus_attack_damage; // 0x11fc int32_t bonus_attack_range; // 0x1200 int32_t attack_projectile_speed; // 0x1204 int32_t magic_resistance; // 0x1208 int32_t model_scale; // 0x120c int32_t skin_number; // 0x1210 bool flying_movement; // 0x1214 }; // Alignment: 2 // Size: 0x638 class CDOTA_Ability_AghsFort_Arcanist_Potion : public C_DOTA_Item { public: int32_t cooldown_reduction_pct; // 0x630 int32_t manacost_reduction_pct; // 0x634 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff { public: int32_t m_nCooldownReductionPct; // 0x11e8 int32_t m_nManaCostReductionPct; // 0x11ec }; // Alignment: 6 // Size: 0x648 class CDOTA_Ability_AghsFort_EchoSlamPotion : public C_DOTA_Item { public: int32_t echo_slam_damage_range; // 0x630 int32_t echo_slam_echo_search_range; // 0x634 int32_t echo_slam_echo_range; // 0x638 int32_t echo_slam_echo_damage; // 0x63c int32_t echo_slam_initial_damage; // 0x640 float spend_charge_delay; // 0x644 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item { public: float m_fProcChance; // 0x11e8 int32_t m_nRadius; // 0x11ec int32_t m_nMovespeedBonus; // 0x11f0 float m_fStunDuration; // 0x11f4 float m_fSlowDuration; // 0x11f8 float m_fDelay; // 0x11fc int32_t m_nTorrentDamage; // 0x1200 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item { public: int32_t m_nTorrentDamage; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff { public: int32_t m_nMovespeedBonus; // 0x11e8 }; // Alignment: 0 // Size: 0x630 class CDOTA_Ability_AghsFort_ShadowWaveEffectPotion : public C_DOTA_Item { public: // No members available }; // Alignment: 9 // Size: 0x1228 class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item { public: int32_t m_iCurJumpCount; // 0x11e8 Vector m_vCurTargetLoc; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8 float m_fProcChance; // 0x1210 int32_t m_nCastRange; // 0x1214 int32_t m_nBounceRadius; // 0x1218 int32_t m_nDamageRadius; // 0x121c int32_t m_nDamage; // 0x1220 int32_t m_nMaxTargets; // 0x1224 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_AghsFort_RefresherOrb_Shard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Minor_Stats_Upgrade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 16 // Size: 0x1228 class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff { public: int32_t bonus_all_stats; // 0x11e8 int32_t bonus_primary_stat; // 0x11ec int32_t bonus_movespeed; // 0x11f0 int32_t bonus_hp_regen; // 0x11f4 int32_t bonus_armor; // 0x11f8 int32_t bonus_attack_damage; // 0x11fc int32_t bonus_cast_range; // 0x1200 int32_t bonus_spell_amp; // 0x1204 int32_t bonus_health; // 0x1208 int32_t bonus_mana; // 0x120c int32_t bonus_attack_speed; // 0x1210 int32_t bonus_heal_amp; // 0x1214 int32_t bonus_mana_regen; // 0x1218 int32_t bonus_evasion; // 0x121c int32_t bonus_magic_resist; // 0x1220 int32_t bonus_lifesteal; // 0x1224 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_AggroOverride : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Aghsfort_BootsOfTravel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Aghsfort_BootsOfTravel_2 : public CDOTA_Item_Aghsfort_BootsOfTravel { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff { public: int32_t slow_percent; // 0x11e8 bool m_bInRiver; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_RestorativeFlower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t heal; // 0x11ec int32_t vision_radius; // 0x11f0 float vision_duration; // 0x11f4 int32_t model_scale; // 0x11f8 bool bExploding; // 0x11fc private: [[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd public: float stun_duration; // 0x1200 ParticleIndex_t m_nFXAmbient; // 0x1204 }; // Alignment: 6 // Size: 0x5c8 class C_DOTA_Ability_AghsFort_StonehallGeneral_OverwhelmingOdds : public C_DOTABaseAbility { public: int32_t max_steps; // 0x5a0 Vector m_vTarget; // 0x5a4 Vector m_vDir; // 0x5b0 int32_t m_nSteps; // 0x5bc GameTime_t m_flChannelStartTime; // 0x5c0 ParticleIndex_t m_nFXIndex; // 0x5c4 }; // Alignment: 7 // Size: 0x1210 class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t max_steps; // 0x11ec float damage_interval; // 0x11f0 int32_t m_nNumSteps; // 0x11f4 int32_t m_nRadiusStep; // 0x11f8 ParticleIndex_t m_nFXIndex; // 0x11fc Vector m_vDir; // 0x1200 }; // Alignment: 10 // Size: 0x1210 class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff { public: float m_flRotation; // 0x11e8 CHandle< C_BaseEntity > m_hWisp; // 0x11ec GameTime_t m_flLastAttack; // 0x11f0 bool reversed; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t roaming_radius; // 0x11f8 int32_t attack_radius; // 0x11fc float roaming_seconds_per_rotation; // 0x1200 float attack_interval; // 0x1204 bool m_bSetupWarning; // 0x1208 private: [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 public: ParticleIndex_t m_nPreviewFX; // 0x120c }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Enrage : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Spectre_ActiveDispersion : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff { public: int32_t damage_reflection_pct; // 0x11e8 }; // Alignment: 10 // Size: 0x1240 class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff { public: float m_fDamage; // 0x11e8 float m_fLastRadius; // 0x11ec float m_fCurRadius; // 0x11f0 GameTime_t m_fLastThink; // 0x11f4 bool m_bContracting; // 0x11f8 private: [[maybe_unused]] uint8_t __pad11f9[0x7]; // 0x11f9 public: CountdownTimer m_ViewerTimer; // 0x1200 ParticleIndex_t m_nFXIndex; // 0x1218 private: [[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c public: CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1220 int32_t speed; // 0x1238 int32_t radius; // 0x123c }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_AghsFort_RockGolem_Smash : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 Vector m_vTargetLoc; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05b0[0x8]; // 0x5b0 public: int32_t radius; // 0x5b8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff { public: CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11e8 int32_t radius; // 0x1200 float total_duration; // 0x1204 float stun_duration; // 0x1208 int32_t tick_count; // 0x120c int32_t m_damage; // 0x1210 int32_t m_nTicks; // 0x1214 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Creature_Phoenix_FireSpirits : public C_DOTABaseAbility { public: int32_t hp_cost_perc; // 0x5a0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff { public: int32_t spirit_count; // 0x11e8 ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_AghsFort_Creature_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: int32_t spirit_speed; // 0x5a0 float duration; // 0x5a4 int32_t radius; // 0x5a8 int32_t hp_cost_perc; // 0x5ac ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Creature_Phoenix_Supernova : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 }; // Alignment: 8 // Size: 0x1208 class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff { public: int32_t aura_radius; // 0x11e8 float stun_duration; // 0x11ec int32_t max_hero_attacks; // 0x11f0 int32_t max_hero_attacks_scepter; // 0x11f4 int32_t max_hero_attacks_required; // 0x11f8 float caster_life_pct; // 0x11fc CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x1200 int32_t m_iAttackCount; // 0x1204 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PudgeMiniboss_HatefulStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t maxhp_percent_damage; // 0x11ec int32_t every_n_attacks; // 0x11f0 bool crit_active; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PudgeMiniboss_ArmorCorruption : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff { public: float armor_reduction_per_stack; // 0x11e8 float stack_duration; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff { public: float armor_reduction_per_stack; // 0x11e8 float stack_duration; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionStack : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_AghsFort_Wave_Blast : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 float knockback_duration; // 0x5a4 float disarm_duration; // 0x5a8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff { public: float disarm_duration; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Wave_Blast_Disarm : public CDOTA_Modifier_Disarmed { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Waveblaster_Leap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff { public: float leap_speed; // 0x11e8 float leap_acceleration; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Morphling_Waveform : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Morphling_Waveform : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_AghsFort_Creature_Impale : public C_DOTABaseAbility { public: ParticleIndex_t m_nPreviewFX; // 0x5a0 int32_t width; // 0x5a4 float duration; // 0x5a8 int32_t length; // 0x5ac int32_t speed; // 0x5b0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Creature_Impale : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Creature_SpikedCarapace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff { public: float stun_duration; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Walrus_Pudge_Harpoon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Creature_Flamestrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff { public: int32_t impact_radius; // 0x11e8 float ground_burn_duration; // 0x11ec float damage; // 0x11f0 int32_t vision_distance; // 0x11f4 float vision_duration; // 0x11f8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff { public: float burn_interval; // 0x11e8 int32_t burn_radius; // 0x11ec int32_t burn_dps; // 0x11f0 }; // Alignment: 5 // Size: 0x5c0 class CDOTA_Ability_AghsFort_DragonKnight_BreatheFire : public C_DOTABaseAbility { public: int32_t start_radius; // 0x5a0 int32_t end_radius; // 0x5a4 Vector m_vStartPos; // 0x5a8 GameTime_t m_fStartTime; // 0x5b4 float m_fTotalTime; // 0x5b8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_DragonKnight_BreatheFire_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Gyrocopter_Multi_Homing_Missile : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_PineCone_ShieldBash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff { public: int32_t knockback_slow; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_PineCone_AcornShot : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnPineConeAcornTreePlanted" uint32_t m_nAcornTree; // 0x5a0 float projectile_speed; // 0x5a4 float bounce_delay; // 0x5a8 int32_t bounce_range; // 0x5ac int32_t bounce_count; // 0x5b0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff { public: int32_t acorn_shot_damage; // 0x11e8 int32_t base_damage_pct; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Lifestealer_Enraged_Pulse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 11 // Size: 0x608 class C_DOTA_Ability_Aghanim_UrnUpheaval : public C_DOTABaseAbility { public: Vector m_vPosition; // 0x5a0 float aoe; // 0x5ac float slow_rate; // 0x5b0 float slow_rate_duration; // 0x5b4 float duration; // 0x5b8 float max_slow; // 0x5bc float burn_damage; // 0x5c0 float m_flCurrentSlow; // 0x5c4 ParticleIndex_t m_nFXIndex; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: CountdownTimer m_SlowTimer; // 0x5d0 CountdownTimer m_timer; // 0x5e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff { public: int32_t m_iSlow; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_UpheavalUrn_Reincarnation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff { public: float reincarnate_time; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_SkeletonKing_VampiricAura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghanimsFortress_SkeletonKing_VampiricAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff { public: float stack_damage; // 0x11e8 float bonus_stack_damage; // 0x11ec int32_t max_multiply_stacks; // 0x11f0 int32_t release_at_max_stacks; // 0x11f4 ParticleIndex_t m_nFXStackIndex; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Shadow_Demon_Shadow_Poison_Release : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_ShadowShaman_Shackles : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 ParticleIndex_t nShackleFXIndex; // 0x5a4 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff { public: float tick_interval; // 0x11e8 float total_damage; // 0x11ec float channel_time; // 0x11f0 }; // Alignment: 5 // Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Elemental_Wisp_Tether : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hTarget; // 0x5a0 Vector m_vProjectileLocation; // 0x5a4 bool m_bProjectileActive; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: int32_t latch_distance; // 0x5b4 int32_t m_iProjectileIndex; // 0x5b8 }; // Alignment: 14 // Size: 0x1238 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff { public: bool m_bInManaGained; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: CHandle< C_BaseEntity > m_hTarget; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11f0 float slow_duration; // 0x1208 int32_t movespeed; // 0x120c int32_t self_bonus; // 0x1210 bool m_bIsInRange; // 0x1214 private: [[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215 public: int32_t radius; // 0x1218 int32_t latch_distance; // 0x121c float m_flHealthHealed; // 0x1220 float m_flManaHealed; // 0x1224 float tether_heal_amp; // 0x1228 GameTime_t m_flHealMessageTime; // 0x122c GameTime_t m_flManaMessageTime; // 0x1230 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff { public: int32_t movement_speed; // 0x11e8 int32_t attack_speed; // 0x11ec int32_t health_regen; // 0x11f0 int32_t status_resist; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghanim_Spear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Wildwing_Tornado_Blast : public C_DOTABaseAbility { public: float disable_duration; // 0x5a0 float damage; // 0x5a4 ParticleIndex_t m_nPreviewFX; // 0x5a8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff { public: GameTime_t m_flStartTime; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_TreantMiniboss_NaturesGuise : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x1230 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff { public: CountdownTimer m_RevealTimer; // 0x11e8 CountdownTimer m_InvisAttackTimer; // 0x1200 CountdownTimer m_CooldownTimer; // 0x1218 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff { public: int32_t movement_bonus; // 0x11e8 int32_t regen_amp; // 0x11ec }; // Alignment: 0 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff { public: float m_iEntangleDamage; // 0x11e8 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Creature_Venomancer_PoisonNova : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXPreview; // 0x5a0 int32_t radius; // 0x5a4 }; // Alignment: 7 // Size: 0x1218 class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff { public: float m_fCurRadius; // 0x11e8 GameTime_t m_fLastThink; // 0x11ec CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11f0 int32_t speed; // 0x1208 int32_t radius; // 0x120c int32_t start_radius; // 0x1210 float duration; // 0x1214 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff { public: int32_t damage; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_AghsFort_Ability_Creature_Venomancer_PoisonSting : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t damage; // 0x11ec }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff { public: int32_t m_iDamage; // 0x11e8 int32_t movement_speed; // 0x11ec int32_t m_nTicksRemaining; // 0x11f0 float m_flAttackDamage; // 0x11f4 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Firestorm : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff { public: int32_t wave_damage; // 0x11e8 int32_t wave_count; // 0x11ec int32_t radius; // 0x11f0 int32_t summon_count; // 0x11f4 float wave_interval; // 0x11f8 float burn_duration; // 0x11fc float first_wave_delay; // 0x1200 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff { public: float burn_damage; // 0x11e8 float burn_interval; // 0x11ec }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Portal_Warp : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff { public: // No members available }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff { public: ParticleIndex_t m_nfxTargetTp; // 0x11e8 ParticleIndex_t m_nfxTargetTp2; // 0x11ec ParticleIndex_t m_nfxAmbientFx; // 0x11f0 ParticleIndex_t m_nfxPortal1; // 0x11f4 ParticleIndex_t m_nfxPortal2; // 0x11f8 float animation_rate; // 0x11fc int32_t stop_distance; // 0x1200 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal : public C_DOTABaseAbility { public: float duration; // 0x5a0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff { public: ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Bonus_Pudge_MeatHook : public C_DOTABaseAbility { public: // MNetworkEnable int32_t m_nConsecutiveHits; // 0x5a0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x1218 class CDOTA_Modifier_AghsFort_AmoebaBoss_Summoned_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Aghsfort_Ability_CrystalMaiden_CrystalNova : public C_DOTABaseAbility { public: int32_t nova_damage; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Aghsfort_AbilityCrystalMaiden_FreezingField : public C_DOTABaseAbility { public: ParticleIndex_t m_nWarningFX; // 0x5a0 ParticleIndex_t m_nRadiusFX; // 0x5a4 }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Aghsfort_Ability_Creature_Magnus_Push_Skewer : public C_DOTABaseAbility { public: int32_t skewer_radius; // 0x5a0 int32_t skewer_speed; // 0x5a4 int32_t range; // 0x5a8 int32_t tree_radius; // 0x5ac }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff { public: int32_t m_nProjectileID; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang : public C_DOTABaseAbility { public: int32_t min_distance; // 0x5a0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Aghsfort_Hoodwink_ArcingBoomerang : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Pugna_Grandmaster_NetherWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float mana_multiplier; // 0x11ec float mana_drained_per_attack; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_AssaultCaptain_SearingChains : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_AssaultCaptain_SunRay : public C_DOTABaseAbility { public: // No members available }; // Alignment: 23 // Size: 0x1260 class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff { public: int32_t hp_cost_perc_per_second; // 0x11e8 int32_t beam_range; // 0x11ec int32_t base_damage; // 0x11f0 int32_t base_heal; // 0x11f4 float tick_interval; // 0x11f8 float forward_move_speed; // 0x11fc float turn_rate_initial; // 0x1200 float turn_rate; // 0x1204 int32_t radius; // 0x1208 int32_t self_turn_rate_percent; // 0x120c float m_flCurrentTime; // 0x1210 GameTime_t m_flLastDamageTime; // 0x1214 float m_flAccumulatedSelfDamage; // 0x1218 bool m_bMovingForward; // 0x121c bool m_bTurningFast; // 0x121d private: [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e public: float m_flFacingTarget; // 0x1220 float hp_perc_damage; // 0x1224 float hp_perc_heal; // 0x1228 ParticleIndex_t m_nBeamFXIndex; // 0x122c CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1230 CHandle< C_BaseEntity > m_hBeamEnd; // 0x1250 bool m_bCreatedVisionThinkers; // 0x1254 private: [[maybe_unused]] uint8_t __pad1255[0x3]; // 0x1255 public: CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1258 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff { public: int32_t freeze_radius; // 0x11e8 int32_t freeze_damage; // 0x11ec float freeze_debuff_duration; // 0x11f0 float freeze_delay; // 0x11f4 ParticleIndex_t m_nFXIndex; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff { public: int32_t linger_movement_slow; // 0x11e8 int32_t linger_damage; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Blessings_Debuff_Duration_Increase : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_AghsFort_TrapRoom_Hookshot : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 Vector m_vProjectileVelocity; // 0x5a4 bool m_bRetract; // 0x5b0 }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff { private: [[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8 public: int32_t speed; // 0x11f0 float duration; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_TrapRoom_MeatHook : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Effigy_AghsFort : public CDOTA_Buff { public: // No members available }; // Alignment: 5 // Size: 0x548 class CDOTA_AghsFort_BossPreview : public C_BaseEntity { public: CUtlSymbolLarge m_strBossUnit; // 0x528 CUtlSymbolLarge m_strModelName; // 0x530 float m_flBossModelScale; // 0x538 float m_flExtraModelScale; // 0x53c int32_t m_nEncounterType; // 0x540 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Capture : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff { public: // No members available }; // Alignment: 15 // Size: 0x1230 class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff { public: TowerState_t m_nState; // 0x11e8 float m_flYaw; // 0x11ec int32_t m_nCaptureDuration; // 0x11f0 GameTime_t m_flEffectiveCaptureStartTime; // 0x11f4 int32_t m_nCapturingPlayerCount; // 0x11f8 float m_flCaptureProgress; // 0x11fc int32_t m_iCapturingTeam; // 0x1200 ParticleIndex_t m_nFxOutpostAmbient; // 0x1204 GameTime_t m_flDestroyTime; // 0x1208 GameTime_t m_flAutoChannelCompleteTime; // 0x120c bool m_bAscensionLevelPicker; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_nEliteChallengeLevel; // 0x1214 CUtlString m_strNextRoomName; // 0x1218 CUtlString m_strNextEncounterName; // 0x1220 bool m_bStartedBeamFacing; // 0x1228 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_HighFive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff { public: int32_t acknowledge_range; // 0x11e8 float think_interval; // 0x11ec float acknowledged_cooldown; // 0x11f0 bool m_bAcknowledged; // 0x11f4 bool m_bFirstThink; // 0x11f5 private: [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 public: int32_t high_five_level; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI10_Portal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 15 // Size: 0x1250 class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff { public: Vector m_vSpawnPos; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4 public: CUtlVector< Vector > m_vecEmissions; // 0x11f8 bool m_bChatSent; // 0x1210 private: [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 public: int32_t m_nPhase; // 0x1214 int32_t m_nNumEmitted; // 0x1218 int32_t m_nNumDrops; // 0x121c GameTime_t m_flStartTime; // 0x1220 GameTime_t m_flLastEmitTime; // 0x1224 bool m_bIsOnRadiant; // 0x1228 bool m_bUseLargeEmit; // 0x1229 private: [[maybe_unused]] uint8_t __pad122a[0x2]; // 0x122a public: int32_t m_nOutcome; // 0x122c private: [[maybe_unused]] uint8_t __pad1230[0x10]; // 0x1230 public: int32_t PHASE_OPEN; // 0x1240 int32_t PHASE_EMIT; // 0x1244 int32_t PHASE_EMIT_DONE; // 0x1248 int32_t PHASE_CLOSE; // 0x124c }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI10_DiscoBall : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI10_DiscoBall : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_TI10_DiscoBall_Channel : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 // MNetworkEnable float m_flChannelTime; // 0x5a4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t m_nGesture; // 0x11ec }; // Alignment: 1 // Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_SoccerBall : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[0]->m_instance);}; static char* &Get_PARTICLE_POST(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[1]->m_instance);}; static char* &Get_PARTICLE_IMPACT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[2]->m_instance);}; static char* &Get_PARTICLE_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[3]->m_instance);}; static char* &Get_PARTICLE_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[4]->m_instance);}; static char* &Get_PARTICLE_TRAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[5]->m_instance);}; static char* &Get_PARTICLE_POST_LEFT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[6]->m_instance);}; static char* &Get_PARTICLE_POST_RIGHT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[7]->m_instance);}; }; // Alignment: 39 // Size: 0x12b0 class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff { public: Vector m_vPost1; // 0x11e8 Vector m_vPost2; // 0x11f4 Vector m_vPostForward; // 0x1200 ParticleIndex_t m_nPost1FXIndex; // 0x120c ParticleIndex_t m_nPost2FXIndex; // 0x1210 ParticleIndex_t m_nPost3FXIndex; // 0x1214 int32_t PHASE_START; // 0x1218 int32_t PHASE_GESTURE; // 0x121c int32_t PHASE_FX; // 0x1220 int32_t PHASE_MOTION; // 0x1224 int32_t PHASE_IMPACT; // 0x1228 int32_t PHASE_FAIL; // 0x122c int32_t PHASE_CROSSED_GOAL; // 0x1230 int32_t PHASE_GOAL; // 0x1234 float tick_interval; // 0x1238 float forward_move_speed; // 0x123c float magnus_coefficient; // 0x1240 float magnus_falloff; // 0x1244 float drag_coefficient; // 0x1248 float min_delay; // 0x124c float max_delay; // 0x1250 int32_t hit_radius; // 0x1254 ParticleIndex_t m_nFXIndex; // 0x1258 Vector m_vVelocity; // 0x125c Vector m_vSpawnPos; // 0x1268 Vector m_vTargetPos; // 0x1274 int32_t m_nPhase; // 0x1280 int32_t m_nHits; // 0x1284 float m_flMagnusValue; // 0x1288 GameTime_t m_flStartTime; // 0x128c float m_flDelay; // 0x1290 GameTime_t m_flStateChangeTime; // 0x1294 bool m_bFirstThink; // 0x1298 bool m_bGroundHit; // 0x1299 private: [[maybe_unused]] uint8_t __pad129a[0x2]; // 0x129a public: PlayerID_t m_nTargetPlayerID; // 0x129c float m_flCurTime; // 0x12a0 float m_flStartZ; // 0x12a4 float m_flAirTime; // 0x12a8 float m_flHeight; // 0x12ac }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI10_HotPotato_Debuff : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_HotPotato : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 public: int32_t projectile_speed; // 0x5ac }; // Alignment: 0 // Size: 0x5b0 class CDOTA_Ability_Seasonal_TI10_HotPotato_ThrowExistingPotato : public CDOTA_Ability_Seasonal_TI10_HotPotato { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_TI10_HighFive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff { public: int32_t acknowledge_range; // 0x11e8 float think_interval; // 0x11ec float acknowledged_cooldown; // 0x11f0 bool m_bAcknowledged; // 0x11f4 bool m_bFirstThink; // 0x11f5 private: [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 public: int32_t high_five_level; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI10_GuildBanner : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff { public: float input_duration; // 0x11e8 float think_interval; // 0x11ec }; // Alignment: 8 // Size: 0x1210 class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff { public: float challenge_duration; // 0x11e8 float reveal_duration; // 0x11ec float reveal_delay; // 0x11f0 float completed_cooldown; // 0x11f4 float think_interval; // 0x11f8 float acknowledge_range; // 0x11fc private: [[maybe_unused]] uint8_t __pad1200[0x4]; // 0x1200 public: GameTime_t m_flRevealTime; // 0x1204 ParticleIndex_t m_nOverheadFXIndex; // 0x1208 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff { public: float think_interval; // 0x11e8 int32_t max_charges; // 0x11ec int32_t m_nChargesUsed; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_BubbleGun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_Rock : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_Paper : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Seasonal_TI11_Scissors : public CDOTA_Ability_Seasonal_TI11_RockPaperScissors_Base { public: // No members available }; // Alignment: 4 // Size: 0x5b8 class CDOTA_Ability_Seasonal_TI11_Balloon : public C_DOTABaseAbility { public: float charge_use_interval; // 0x5a0 float max_usable_charges; // 0x5a4 GameTime_t m_flLastChargeUseTime; // 0x5a8 CHandle< C_BaseEntity > m_hBalloon; // 0x5ac }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff { public: float model_scale_per_stack; // 0x11e8 bool m_bIsRadiant; // 0x11ec }; // Alignment: 19 // Size: 0x1248 class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff { public: float speed; // 0x11e8 int32_t min_distance_before_bounce; // 0x11ec float drag; // 0x11f0 float max_height; // 0x11f4 float max_vertical_move_time; // 0x11f8 float bounce_turn_angle; // 0x11fc float bounce_turn_angle_tree; // 0x1200 float bounce_delay; // 0x1204 int32_t max_bounces; // 0x1208 float max_model_scale; // 0x120c float power_growth_exponent; // 0x1210 Vector m_vLastPos; // 0x1214 Vector m_vDir; // 0x1220 float m_flSpeed; // 0x122c float m_flDistRemaining; // 0x1230 float m_flTreeTimeRemaining; // 0x1234 int32_t m_nTimesBounced; // 0x1238 float m_flModelScale; // 0x123c CHandle< C_BaseEntity > m_hLastHit; // 0x1240 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Seasonal_TI11_Duel : public C_DOTABaseAbility { public: float model_scale; // 0x5a0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff { public: PlayerID_t m_nDuelOpponent; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff { public: float m_flMaxSpeed; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Seasonal_TI11_CongaLine : public C_DOTABaseAbility { public: float max_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Plus_HighFive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff { public: int32_t acknowledge_range; // 0x11e8 float think_interval; // 0x11ec float acknowledged_cooldown; // 0x11f0 bool m_bAcknowledged; // 0x11f4 bool m_bFirstThink; // 0x11f5 private: [[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6 public: int32_t high_five_level; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Plus_GuildBanner : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x648 class C_DOTA_Item_Muertas_Gun : public C_DOTA_Item { public: int32_t radius; // 0x630 int32_t ricochet_radius_start; // 0x634 int32_t ricochet_radius_end; // 0x638 int32_t m_iTempViewerRadiant; // 0x63c int32_t m_iTempViewerDire; // 0x640 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t bonus_cast_pct; // 0x11ec int32_t bonus_spell_amp; // 0x11f0 int32_t health_pct_penalty; // 0x11f4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff { public: int32_t impact_slow_percent; // 0x11e8 }; // Alignment: 1 // Size: 0x11f8 class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff { public: Vector m_vFearDir; // 0x11e8 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ofrenda_Pledge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x11f0 class CDOTA_Modifier_Ofrenda_Pledge : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ofrenda : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ofrenda_Shovel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_AghsFort_Bloodstone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_AghsFort_Bloodstone : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff { public: int32_t mana_cost_percentage; // 0x11e8 float restore_duration; // 0x11ec float m_flDrainAmount; // 0x11f0 }; // Alignment: 12 // Size: 0x1218 class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item { public: int32_t bonus_health; // 0x11e8 int32_t bonus_mana; // 0x11ec int32_t mana_regen_multiplier; // 0x11f0 float regen_per_charge; // 0x11f4 float amp_per_charge; // 0x11f8 int32_t death_charges; // 0x11fc int32_t kill_charges; // 0x1200 float hero_lifesteal; // 0x1204 float creep_lifesteal; // 0x1208 int32_t bonus_intellect; // 0x120c int32_t spell_amp; // 0x1210 int32_t spell_lifesteal_amp; // 0x1214 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Item_AghsFort_Bloodstone_GainableCharges : public CDOTA_Buff { public: // No members available }; // Alignment: 9 // Size: 0x680 class C_DotaSubquestBase : public C_BaseEntity { public: // MNetworkEnable char m_pszSubquestText[256]; // 0x528 // MNetworkEnable bool m_bHidden; // 0x628 // MNetworkEnable bool m_bCompleted; // 0x629 // MNetworkEnable bool m_bShowProgressBar; // 0x62a private: [[maybe_unused]] uint8_t __pad062b[0x1]; // 0x62b public: // MNetworkEnable int32_t m_nProgressBarHueShift; // 0x62c // MNetworkEnable int32_t m_pnTextReplaceValuesCDotaSubquestBase[2]; // 0x630 // MNetworkEnable char m_pszTextReplaceString[64]; // 0x638 // MNetworkEnable int32_t m_nTextReplaceValueVersion; // 0x678 bool m_bWasCompleted; // 0x67c // Static fields: static char* &Get_s_pszTextReplaceStringName(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DotaSubquestBase")->m_static_fields[0]->m_instance);}; }; // Alignment: 13 // Size: 0x8a8 class C_DotaQuest : public C_BaseEntity { public: // MNetworkEnable char m_pszQuestTitle[256]; // 0x528 // MNetworkEnable char m_pszQuestText[256]; // 0x628 // MNetworkEnable int32_t m_nQuestType; // 0x728 // MNetworkEnable CHandle< C_DotaSubquestBase > m_hSubquests[8]; // 0x72c // MNetworkEnable bool m_bHidden; // 0x74c // MNetworkEnable bool m_bCompleted; // 0x74d // MNetworkEnable bool m_bWinIfCompleted; // 0x74e // MNetworkEnable bool m_bLoseIfCompleted; // 0x74f // MNetworkEnable char m_pszGameEndText[256]; // 0x750 // MNetworkEnable int32_t m_pnTextReplaceValuesCDotaQuest[4]; // 0x850 // MNetworkEnable char m_pszTextReplaceString[64]; // 0x860 // MNetworkEnable int32_t m_nTextReplaceValueVersion; // 0x8a0 bool m_bWasCompleted; // 0x8a4 // Static fields: static char* &Get_s_pszTextReplaceStringName(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DotaQuest")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 // Size: 0x680 class C_DotaSubquestBuyItems : public C_DotaSubquestBase { public: // No members available }; // Alignment: 0 // Size: 0x680 class C_DotaSubquestEntityDeath : public C_DotaSubquestBase { public: // No members available }; // Alignment: 0 // Size: 0x680 class C_DotaSubquestTutorialEvent : public C_DotaSubquestBase { public: // No members available }; // Alignment: 0 // Size: 0x680 class C_DotaSubquestPlayerStat : public C_DotaSubquestBase { public: // No members available }; // Alignment: 0 // Size: 0x680 class C_DotaSubquestAbilityCastCount : public C_DotaSubquestBase { public: // No members available }; // Alignment: 0 // Size: 0x528 class C_DotaQuestBase : public C_BaseEntity { public: // No members available }; // Alignment: 5 // Size: 0x38 struct InGamePredictionData_t { private: [[maybe_unused]] uint8_t __pad0000[0x28]; // 0x0 public: // MNetworkEnable uint32_t m_nID; // 0x28 // MNetworkEnable uint32_t m_nValue; // 0x2c // MNetworkEnable uint32_t m_nRawValue; // 0x30 // MNetworkEnable uint8_t m_nValueState; // 0x34 // MNetworkEnable bool m_bValueIsMask; // 0x35 }; // Alignment: 5 // Size: 0x5a0 class CDOTAInGamePredictionState : public C_BaseEntity { public: // MNetworkEnable bool m_bVotingClosed; // 0x528 // MNetworkEnable // MNetworkChangeCallback "OnAllPredictionsFinished" bool m_bAllPredictionsFinished; // 0x529 private: [[maybe_unused]] uint8_t __pad052a[0x6]; // 0x52a public: // MNetworkEnable C_UtlVectorEmbeddedNetworkVar< InGamePredictionData_t > m_vecPredictions; // 0x530 // MNetworkEnable LeagueID_t m_nLeagueID; // 0x580 private: [[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584 public: CUtlVector< InGamePredictionData_t > m_vecPrevPredictions; // 0x588 }; // Alignment: 3 // Size: 0xc struct CDOTABattleReportHighlightCompareContext_t { public: // MPropertyDescription "How to view the baseline data of the player's performance for comparison." CMsgBattleReport_CompareContext m_eCompareContext; // 0x0 // MPropertyDescription "Comparison Type for player score to baseline data or threshold value" EHighlightScoreComparison m_eComparisonType; // 0x4 // MPropertyDescription "Value for comparison using the selected context." // MPropertySuppressExpr "m_eCompareContext != k_eAbsoluteValue" float m_flCompareValue; // 0x8 }; // Alignment: 2 // Size: 0x20 struct CDOTABattleReportHighlightTier_t { public: // MPropertyDescription "Tier of the Reward" CMsgBattleReport_HighlightTier m_eTier; // 0x0 // MPropertyDescription "Compare Contexts to Achieve Tier" // MPropertyAutoExpandSelf CUtlVector< CDOTABattleReportHighlightCompareContext_t > m_vecCompareContexts; // 0x8 }; // Alignment: 12 // Size: 0x70 class CDOTABattleReportHighlight { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: // MPropertyDescription "Battle Report Highlight ID" // MVDataUniqueMonotonicInt // MPropertyAttributeEditor "locked_int()" uint16_t m_nID; // 0x8 // MPropertyDescription "Enabled" bool m_bEnabled; // 0xa private: [[maybe_unused]] uint8_t __pad000b[0x1]; // 0xb public: // MPropertyDescription "Battle Report Highlight Type" // MPropertyFriendlyName "Gameplay Outcome to Highlight" CMsgBattleReport_HighlightType m_eHighlightType; // 0xc // MPropertyDescription "Battle Report Highlight Category" CMsgBattleReport_HighlightCategory m_eHighlightCategory; // 0x10 // MPropertyDescription "Battle Report Highlight Rarity" CMsgBattleReport_HighlightRarity m_eHighlightRarity; // 0x14 // MPropertyDescription "Localized name for this highlight" CUtlString m_sNameToken; // 0x18 // MPropertyDescription "Localized name for this highlight" CUtlString m_sFlavorToken; // 0x20 // MPropertyDescription "Helper Tooltip Available" bool m_bTooltip; // 0x28 private: [[maybe_unused]] uint8_t __pad0029[0x7]; // 0x29 public: // MPropertyDescription "Helper Tooltip Loc String" // MPropertySuppressExpr "m_bTooltip == false" CUtlString m_sTooltipLocString; // 0x30 // MPropertyDescription "Number formatting for player score" EHighlightNumberFormat m_eFormat; // 0x38 private: [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c public: // MPropertyDescription "Roles for the Highlight. If none selected, use all roles." // MPropertySuppressExpr "m_eHighlightCategory != k_eHighlightRole" CUtlVector< CMsgBattleReport_Role > m_vecRoles; // 0x40 // MPropertyDescription "Possible Tiers for the Highlight" // MPropertyAutoExpandSelf CUtlVector< CDOTABattleReportHighlightTier_t > m_vecTiers; // 0x58 }; // Alignment: 2 // Size: 0x1208 class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11e8 bool bAcceptingGems; // 0x1200 }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff { public: float m_flOriginalModelScale; // 0x11e8 int32_t m_nHealthBarOffsetOverride; // 0x11ec ParticleIndex_t m_nFXStackIndex; // 0x11f0 float m_fScaleGainPerGem; // 0x11f4 int32_t m_nLevel; // 0x11f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Jungle_Spirit_Reductions : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff { public: CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x11e8 int32_t m_nAlliesNearby; // 0x1200 int32_t stat_reduction_pct; // 0x1204 int32_t armor_reduction; // 0x1208 int32_t radius; // 0x120c }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff { public: GameTime_t m_flLastHowl; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Jungle_Spirit_RiverRejuvenation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff { public: int32_t distance_from_shrine; // 0x11e8 }; // Alignment: 3 // Size: 0x1200 class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff { public: int32_t health_restore; // 0x11e8 int32_t mana_restore; // 0x11ec float regen_interval; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_TreantLevel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_JungleSpirit_BaseAttackRangeIncrease : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_CDOTA_Item_BagOfGold_Caster_Only : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hThinker; // 0x630 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morokai_JungleHealBeam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 10 // Size: 0x1240 class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff { public: int32_t beam_count; // 0x11e8 int32_t beam_range; // 0x11ec int32_t beam_radius; // 0x11f0 int32_t beam_buffer; // 0x11f4 int32_t turn_rate; // 0x11f8 int32_t hp_per_second; // 0x11fc GameTime_t m_flLastThinkTime; // 0x1200 private: [[maybe_unused]] uint8_t __pad1204[0x1c]; // 0x1204 public: CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x1220 float flLastTreeDestroyed; // 0x1238 float flTreeDestructionCooldown; // 0x123c }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SecondBeam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_ThirdBeam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamRange : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_BeamHeal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_SummonCreeps_Interval : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_JungleHeal_Treant_Level : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5c8 class C_DOTA_Ability_JungleSpirit_Volcano_Eruption : public C_DOTABaseAbility { private: [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: int32_t m_iProjectile; // 0x5a8 int32_t primary_explosion_radius; // 0x5ac int32_t secondary_explosion_radius; // 0x5b0 int32_t split_radius; // 0x5b4 char* szProjectileFXName; // 0x5b8 char* szGroundMarkerFXName; // 0x5c0 }; // Alignment: 0 // Size: 0x1218 class CDOTA_Ability_JungleSpirit_Volcano_Eruption_Knockback : public CDOTA_Modifier_Knockback { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Multitarget : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Splinter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_JungleSpirit_Volcano_Damage_Bonus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_JungleSpirit_Storm_Cyclone : public C_DOTABaseAbility { public: // No members available }; // Alignment: 12 // Size: 0x1278 class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff { public: CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11e8 CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x1200 int32_t projectile_distance; // 0x1218 int32_t projectile_radius; // 0x121c int32_t projectile_amount; // 0x1220 float projectile_duration; // 0x1224 float delay; // 0x1228 GameTime_t m_flDieTime; // 0x122c GameTime_t m_flStartTime; // 0x1230 private: [[maybe_unused]] uint8_t __pad1234[0x4]; // 0x1234 public: CUtlVector< Vector > m_vLeftControl; // 0x1238 CUtlVector< Vector > m_vSourceLoc; // 0x1250 Vector m_vTargetLoc; // 0x1268 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff { public: GameTime_t m_flStartTime; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff { public: ParticleIndex_t nFXIndex; // 0x11e8 int32_t projectile_radius; // 0x11ec int32_t projectile_destruction_radius; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Projectiles : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Jungle_Spirit_Storm_Cyclone_Debuff_Duration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff { public: int32_t damage_modifier; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jungle_Spirit_Range_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff { public: ParticleIndex_t m_nFXIndex; // 0x11e8 int32_t projectile_speed; // 0x11ec float turn_rate; // 0x11f0 CHandle< C_BaseEntity > m_hAttachTarget; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Projectile_Duration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Morokai_Range_Attack_Aoe_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Movement_Speed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Evasion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Health : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Cooldown_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Magic_Resistance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Spell_Amplify : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Attack_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Health_Regen : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jungle_Spirit_Bonus_Armor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x528 class C_PointEntity : public C_BaseEntity { public: // No members available }; // Alignment: 25 // Size: 0x16a8 class C_EnvCombinedLightProbeVolume : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x10d0]; // 0x528 public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" Color m_Color; // 0x15f8 // MNetworkEnable // MNetworkChangeCallback "StateChanged" float m_flBrightness; // 0x15fc // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1600 // MNetworkEnable bool m_bCustomCubemapTexture; // 0x1608 private: [[maybe_unused]] uint8_t __pad1609[0x7]; // 0x1609 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1610 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1618 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1620 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1628 // MNetworkEnable Vector m_vBoxMins; // 0x1630 // MNetworkEnable Vector m_vBoxMaxs; // 0x163c // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x1648 // MNetworkEnable bool m_bMoveable; // 0x1650 private: [[maybe_unused]] uint8_t __pad1651[0x3]; // 0x1651 public: // MNetworkEnable int32_t m_nHandshake; // 0x1654 // MNetworkEnable int32_t m_nEnvCubeMapArrayIndex; // 0x1658 // MNetworkEnable int32_t m_nPriority; // 0x165c // MNetworkEnable bool m_bStartDisabled; // 0x1660 private: [[maybe_unused]] uint8_t __pad1661[0x3]; // 0x1661 public: // MNetworkEnable float m_flEdgeFadeDist; // 0x1664 // MNetworkEnable Vector m_vEdgeFadeDists; // 0x1668 // MNetworkEnable int32_t m_nLightProbeSizeX; // 0x1674 // MNetworkEnable int32_t m_nLightProbeSizeY; // 0x1678 // MNetworkEnable int32_t m_nLightProbeSizeZ; // 0x167c // MNetworkEnable int32_t m_nLightProbeAtlasX; // 0x1680 // MNetworkEnable int32_t m_nLightProbeAtlasY; // 0x1684 // MNetworkEnable int32_t m_nLightProbeAtlasZ; // 0x1688 private: [[maybe_unused]] uint8_t __pad168c[0x15]; // 0x168c public: // MNetworkEnable bool m_bEnabled; // 0x16a1 }; // Alignment: 19 // Size: 0x688 class C_EnvCubemap : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0xf0]; // 0x528 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x618 // MNetworkEnable bool m_bCustomCubemapTexture; // 0x620 private: [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 public: // MNetworkEnable float m_flInfluenceRadius; // 0x624 // MNetworkEnable Vector m_vBoxProjectMins; // 0x628 // MNetworkEnable Vector m_vBoxProjectMaxs; // 0x634 // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x640 // MNetworkEnable bool m_bMoveable; // 0x648 private: [[maybe_unused]] uint8_t __pad0649[0x3]; // 0x649 public: // MNetworkEnable int32_t m_nHandshake; // 0x64c // MNetworkEnable int32_t m_nEnvCubeMapArrayIndex; // 0x650 // MNetworkEnable int32_t m_nPriority; // 0x654 // MNetworkEnable float m_flEdgeFadeDist; // 0x658 // MNetworkEnable Vector m_vEdgeFadeDists; // 0x65c // MNetworkEnable float m_flDiffuseScale; // 0x668 // MNetworkEnable bool m_bStartDisabled; // 0x66c // MNetworkEnable bool m_bDefaultEnvMap; // 0x66d // MNetworkEnable bool m_bDefaultSpecEnvMap; // 0x66e // MNetworkEnable bool m_bIndoorCubeMap; // 0x66f // MNetworkEnable bool m_bCopyDiffuseFromDefaultCubemap; // 0x670 private: [[maybe_unused]] uint8_t __pad0671[0xf]; // 0x671 public: // MNetworkEnable bool m_bEnabled; // 0x680 }; // Alignment: 0 // Size: 0x688 class C_EnvCubemapBox : public C_EnvCubemap { public: // No members available }; // Alignment: 18 // Size: 0x578 class C_EnvCubemapFog : public C_BaseEntity { public: // MNetworkEnable float m_flEndDistance; // 0x528 // MNetworkEnable float m_flStartDistance; // 0x52c // MNetworkEnable float m_flFogFalloffExponent; // 0x530 // MNetworkEnable bool m_bHeightFogEnabled; // 0x534 private: [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 public: // MNetworkEnable float m_flFogHeightWidth; // 0x538 // MNetworkEnable float m_flFogHeightEnd; // 0x53c // MNetworkEnable float m_flFogHeightStart; // 0x540 // MNetworkEnable float m_flFogHeightExponent; // 0x544 // MNetworkEnable float m_flLODBias; // 0x548 // MNetworkEnable bool m_bActive; // 0x54c // MNetworkEnable bool m_bStartDisabled; // 0x54d private: [[maybe_unused]] uint8_t __pad054e[0x2]; // 0x54e public: // MNetworkEnable float m_flFogMaxOpacity; // 0x550 // MNetworkEnable int32_t m_nCubemapSourceType; // 0x554 // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x558 // MNetworkEnable CUtlSymbolLarge m_iszSkyEntity; // 0x560 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x568 // MNetworkEnable bool m_bHasHeightFogEnd; // 0x570 bool m_bFirstTime; // 0x571 }; // Alignment: 18 // Size: 0x1580 class C_EnvLightProbeVolume : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0xfe0]; // 0x528 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1508 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1510 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1518 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1520 // MNetworkEnable Vector m_vBoxMins; // 0x1528 // MNetworkEnable Vector m_vBoxMaxs; // 0x1534 // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x1540 // MNetworkEnable bool m_bMoveable; // 0x1548 private: [[maybe_unused]] uint8_t __pad1549[0x3]; // 0x1549 public: // MNetworkEnable int32_t m_nHandshake; // 0x154c // MNetworkEnable int32_t m_nPriority; // 0x1550 // MNetworkEnable bool m_bStartDisabled; // 0x1554 private: [[maybe_unused]] uint8_t __pad1555[0x3]; // 0x1555 public: // MNetworkEnable int32_t m_nLightProbeSizeX; // 0x1558 // MNetworkEnable int32_t m_nLightProbeSizeY; // 0x155c // MNetworkEnable int32_t m_nLightProbeSizeZ; // 0x1560 // MNetworkEnable int32_t m_nLightProbeAtlasX; // 0x1564 // MNetworkEnable int32_t m_nLightProbeAtlasY; // 0x1568 // MNetworkEnable int32_t m_nLightProbeAtlasZ; // 0x156c private: [[maybe_unused]] uint8_t __pad1570[0x9]; // 0x1570 public: // MNetworkEnable bool m_bEnabled; // 0x1579 }; // Alignment: 8 // Size: 0x550 class C_TonemapController2 : public C_BaseEntity { public: // MNetworkEnable float m_flAutoExposureMin; // 0x528 // MNetworkEnable float m_flAutoExposureMax; // 0x52c // MNetworkEnable float m_flTonemapPercentTarget; // 0x530 // MNetworkEnable float m_flTonemapPercentBrightPixels; // 0x534 // MNetworkEnable float m_flTonemapMinAvgLum; // 0x538 // MNetworkEnable float m_flExposureAdaptationSpeedUp; // 0x53c // MNetworkEnable float m_flExposureAdaptationSpeedDown; // 0x540 // MNetworkEnable float m_flTonemapEVSmoothingRange; // 0x544 }; // Alignment: 28 // Size: 0x5a8 class C_EnvVolumetricFogController : public C_BaseEntity { public: // MNetworkEnable float m_flScattering; // 0x528 // MNetworkEnable float m_flAnisotropy; // 0x52c // MNetworkEnable float m_flFadeSpeed; // 0x530 // MNetworkEnable float m_flDrawDistance; // 0x534 // MNetworkEnable float m_flFadeInStart; // 0x538 // MNetworkEnable float m_flFadeInEnd; // 0x53c // MNetworkEnable float m_flIndirectStrength; // 0x540 // MNetworkEnable int32_t m_nIndirectTextureDimX; // 0x544 // MNetworkEnable int32_t m_nIndirectTextureDimY; // 0x548 // MNetworkEnable int32_t m_nIndirectTextureDimZ; // 0x54c // MNetworkEnable Vector m_vBoxMins; // 0x550 // MNetworkEnable Vector m_vBoxMaxs; // 0x55c // MNetworkEnable bool m_bActive; // 0x568 private: [[maybe_unused]] uint8_t __pad0569[0x3]; // 0x569 public: // MNetworkEnable GameTime_t m_flStartAnisoTime; // 0x56c // MNetworkEnable GameTime_t m_flStartScatterTime; // 0x570 // MNetworkEnable GameTime_t m_flStartDrawDistanceTime; // 0x574 // MNetworkEnable float m_flStartAnisotropy; // 0x578 // MNetworkEnable float m_flStartScattering; // 0x57c // MNetworkEnable float m_flStartDrawDistance; // 0x580 // MNetworkEnable float m_flDefaultAnisotropy; // 0x584 // MNetworkEnable float m_flDefaultScattering; // 0x588 // MNetworkEnable float m_flDefaultDrawDistance; // 0x58c // MNetworkEnable bool m_bStartDisabled; // 0x590 // MNetworkEnable bool m_bEnableIndirect; // 0x591 // MNetworkEnable bool m_bIsMaster; // 0x592 private: [[maybe_unused]] uint8_t __pad0593[0x5]; // 0x593 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x598 // MNetworkEnable int32_t m_nForceRefreshCount; // 0x5a0 bool m_bFirstTime; // 0x5a4 }; // Alignment: 7 // Size: 0x558 class C_EnvVolumetricFogVolume : public C_BaseEntity { public: // MNetworkEnable bool m_bActive; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: // MNetworkEnable Vector m_vBoxMins; // 0x52c // MNetworkEnable Vector m_vBoxMaxs; // 0x538 // MNetworkEnable bool m_bStartDisabled; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: // MNetworkEnable float m_flStrength; // 0x548 // MNetworkEnable int32_t m_nFalloffShape; // 0x54c // MNetworkEnable float m_flFalloffExponent; // 0x550 }; // Alignment: 3 // Size: 0x598 class C_FogController : public C_BaseEntity { public: // MNetworkEnable fogparams_t m_fog; // 0x528 bool m_bUseAngles; // 0x590 private: [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 public: int32_t m_iChangedVariables; // 0x594 }; // Alignment: 0 // Size: 0x528 class CInfoTarget : public C_PointEntity { public: // No members available }; // Alignment: 0 // Size: 0x528 class CInfoParticleTarget : public C_PointEntity { public: // No members available }; // Alignment: 3 // Size: 0x540 class C_InfoVisibilityBox : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x4]; // 0x528 public: // MNetworkEnable int32_t m_nMode; // 0x52c // MNetworkEnable Vector m_vBoxSize; // 0x530 // MNetworkEnable bool m_bEnabled; // 0x53c }; // Alignment: 8 // Size: 0x570 class CInfoWorldLayer : public C_BaseEntity { public: CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x528 // MNetworkEnable CUtlSymbolLarge m_worldName; // 0x550 // MNetworkEnable CUtlSymbolLarge m_layerName; // 0x558 // MNetworkEnable bool m_bWorldLayerVisible; // 0x560 // MNetworkEnable bool m_bEntitiesSpawned; // 0x561 bool m_bCreateAsChildSpawnGroup; // 0x562 private: [[maybe_unused]] uint8_t __pad0563[0x1]; // 0x563 public: uint32_t m_hLayerSpawnGroup; // 0x564 bool m_bWorldLayerActuallyVisible; // 0x568 }; // Alignment: 25 // Size: 0x590 class C_PointCamera : public C_BaseEntity { public: // MNetworkEnable float m_FOV; // 0x528 // MNetworkEnable float m_Resolution; // 0x52c // MNetworkEnable bool m_bFogEnable; // 0x530 // MNetworkEnable Color m_FogColor; // 0x531 private: [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 public: // MNetworkEnable float m_flFogStart; // 0x538 // MNetworkEnable float m_flFogEnd; // 0x53c // MNetworkEnable float m_flFogMaxDensity; // 0x540 // MNetworkEnable bool m_bActive; // 0x544 // MNetworkEnable bool m_bUseScreenAspectRatio; // 0x545 private: [[maybe_unused]] uint8_t __pad0546[0x2]; // 0x546 public: // MNetworkEnable float m_flAspectRatio; // 0x548 // MNetworkEnable bool m_bNoSky; // 0x54c private: [[maybe_unused]] uint8_t __pad054d[0x3]; // 0x54d public: // MNetworkEnable float m_fBrightness; // 0x550 // MNetworkEnable float m_flZFar; // 0x554 // MNetworkEnable float m_flZNear; // 0x558 // MNetworkEnable float m_flOverrideShadowFarZ; // 0x55c // MNetworkEnable bool m_bDofEnabled; // 0x560 private: [[maybe_unused]] uint8_t __pad0561[0x3]; // 0x561 public: // MNetworkEnable float m_flDofNearBlurry; // 0x564 // MNetworkEnable float m_flDofNearCrisp; // 0x568 // MNetworkEnable float m_flDofFarCrisp; // 0x56c // MNetworkEnable float m_flDofFarBlurry; // 0x570 // MNetworkEnable float m_flDofTiltToGround; // 0x574 float m_TargetFOV; // 0x578 float m_DegreesPerSecond; // 0x57c bool m_bIsOn; // 0x580 private: [[maybe_unused]] uint8_t __pad0581[0x7]; // 0x581 public: C_PointCamera* m_pNext; // 0x588 }; // Alignment: 1 // Size: 0x598 class C_PointCameraVFOV : public C_PointCamera { public: float m_flVerticalFOV; // 0x590 }; // Alignment: 12 // Size: 0x5b8 class CPointTemplate : public CLogicalEntity { public: CUtlSymbolLarge m_iszWorldName; // 0x528 CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x530 CUtlSymbolLarge m_iszEntityFilterName; // 0x538 float m_flTimeoutInterval; // 0x540 bool m_bAsynchronouslySpawnEntities; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: CEntityIOOutput m_pOutputOnSpawned; // 0x548 PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x570 PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x574 CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x578 CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x590 HSCRIPT m_ScriptSpawnCallback; // 0x5a8 HSCRIPT m_ScriptCallbackScope; // 0x5b0 }; // Alignment: 4 // Size: 0x550 class C_SoundAreaEntityBase : public C_BaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x7]; // 0x529 public: bool m_bWasEnabled; // 0x530 private: [[maybe_unused]] uint8_t __pad0531[0x7]; // 0x531 public: // MNetworkEnable CUtlSymbolLarge m_iszSoundAreaType; // 0x538 // MNetworkEnable Vector m_vPos; // 0x540 }; // Alignment: 1 // Size: 0x558 class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase { public: // MNetworkEnable float m_flRadius; // 0x550 }; // Alignment: 2 // Size: 0x568 class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase { public: // MNetworkEnable Vector m_vMin; // 0x550 // MNetworkEnable Vector m_vMax; // 0x55c }; // Alignment: 4 // Size: 0x5e0 class C_Team : public C_BaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x528 // MNetworkEnable // MNetworkAlias "m_aPawns" C_NetworkUtlVectorBase< CHandle< C_BasePlayerPawn > > m_aPlayers; // 0x540 // MNetworkEnable int32_t m_iScore; // 0x558 // MNetworkEnable char m_szTeamname[129]; // 0x55c }; // Alignment: 15 // Size: 0x688 class CBasePlayerController : public C_BaseEntity { private: [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 public: int32_t m_nFinalPredictedTick; // 0x530 private: [[maybe_unused]] uint8_t __pad0534[0x4]; // 0x534 public: C_CommandContext m_CommandContext; // 0x538 uint64_t m_nInButtonsWhichAreToggles; // 0x5b0 // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" uint32_t m_nTickBase; // 0x5b8 // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" CHandle< C_BasePlayerPawn > m_hPawn; // 0x5bc CHandle< C_BasePlayerPawn > m_hPredictedPawn; // 0x5c0 CSplitScreenSlot m_nSplitScreenSlot; // 0x5c4 CHandle< CBasePlayerController > m_hSplitOwner; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0x5d0 bool m_bIsHLTV; // 0x5e8 private: [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 public: // MNetworkEnable // MNetworkChangeCallback "OnConnectionStateChanged" PlayerConnectedState m_iConnected; // 0x5ec // MNetworkEnable // MNetworkChangeCallback "OnPlayerControllerNameChanged" char m_iszPlayerName[128]; // 0x5f0 private: [[maybe_unused]] uint8_t __pad0670[0x8]; // 0x670 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnSteamIDChanged" uint64_t m_steamID; // 0x678 bool m_bIsLocalPlayerController; // 0x680 private: [[maybe_unused]] uint8_t __pad0681[0x3]; // 0x681 public: // MNetworkEnable uint32_t m_iDesiredFOV; // 0x684 }; // Alignment: 14 // Size: 0x178 class CBasePlayerVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 CSkillFloat m_flHeadDamageMultiplier; // 0x108 CSkillFloat m_flChestDamageMultiplier; // 0x118 CSkillFloat m_flStomachDamageMultiplier; // 0x128 CSkillFloat m_flArmDamageMultiplier; // 0x138 CSkillFloat m_flLegDamageMultiplier; // 0x148 // MPropertyGroupName "Water" float m_flHoldBreathTime; // 0x158 // MPropertyGroupName "Water" // MPropertyDescription "Seconds between drowning ticks" float m_flDrowningDamageInterval; // 0x15c // MPropertyGroupName "Water" // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" int32_t m_nDrowningDamageInitial; // 0x160 // MPropertyGroupName "Water" // MPropertyDescription "Max damage done by a drowning tick" int32_t m_nDrowningDamageMax; // 0x164 // MPropertyGroupName "Water" int32_t m_nWaterSpeed; // 0x168 // MPropertyGroupName "Use" float m_flUseRange; // 0x16c // MPropertyGroupName "Use" float m_flUseAngleTolerance; // 0x170 // MPropertyGroupName "Crouch" // MPropertyDescription "Time to move between crouch and stand" float m_flCrouchTime; // 0x174 }; // Alignment: 2 // Size: 0x560 class CBodyComponentBaseAnimGraph : public CBodyComponentSkeletonInstance { public: // MNetworkEnable CBaseAnimGraphController m_animationController; // 0x470 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x530 // Static fields: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->m_static_fields[0]->m_instance);}; 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("CBodyComponentBaseAnimGraph")->m_static_fields[1]->m_instance);}; }; // Alignment: 35 // Size: 0x7a8 class C_BaseModelEntity : public C_BaseEntity { public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" CRenderComponent* m_CRenderComponent; // 0x528 // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" CHitboxComponent m_CHitboxComponent; // 0x530 private: [[maybe_unused]] uint8_t __pad0558[0x20]; // 0x558 public: bool m_bInitModelEffects; // 0x578 bool m_bIsStaticProp; // 0x579 private: [[maybe_unused]] uint8_t __pad057a[0x2]; // 0x57a public: int32_t m_iViewerID; // 0x57c int32_t m_iTeamVisibilityBitmask; // 0x580 int32_t m_nLastAddDecal; // 0x584 int32_t m_nDecalsAdded; // 0x588 int32_t m_iOldHealth; // 0x58c // MNetworkEnable // MNetworkChangeCallback "OnRenderModeChanged" RenderMode_t m_nRenderMode; // 0x590 bool m_bVisibilityDirtyFlag; // 0x591 // MNetworkEnable RenderFx_t m_nRenderFX; // 0x592 bool m_bAllowFadeInView; // 0x593 // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" Color m_clrRender; // 0x594 // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" C_UtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t > m_vecRenderAttributes; // 0x598 private: [[maybe_unused]] uint8_t __pad05e8[0x18]; // 0x5e8 public: // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" CUtlStringToken m_LightGroup; // 0x600 // MNetworkEnable bool m_bRenderToCubemaps; // 0x604 private: [[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605 public: // MNetworkEnable CCollisionProperty m_Collision; // 0x608 // MNetworkEnable CGlowProperty m_Glow; // 0x6b8 // MNetworkEnable float m_flGlowBackfaceMult; // 0x710 // MNetworkEnable float m_fadeMinDist; // 0x714 // MNetworkEnable float m_fadeMaxDist; // 0x718 // MNetworkEnable float m_flFadeScale; // 0x71c // MNetworkEnable float m_flShadowStrength; // 0x720 // MNetworkEnable uint8_t m_nObjectCulling; // 0x724 private: [[maybe_unused]] uint8_t __pad0725[0x3]; // 0x725 public: // MNetworkEnable int32_t m_nAddDecal; // 0x728 // MNetworkEnable Vector m_vDecalPosition; // 0x72c // MNetworkEnable Vector m_vDecalForwardAxis; // 0x738 // MNetworkEnable float m_flDecalHealBloodRate; // 0x744 // MNetworkEnable float m_flDecalHealHeightRate; // 0x748 private: [[maybe_unused]] uint8_t __pad074c[0x4]; // 0x74c public: // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x750 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" // MNetworkChangeCallback "OnViewOffsetChanged" CNetworkViewOffsetVector m_vecViewOffset; // 0x768 private: [[maybe_unused]] uint8_t __pad0790[0x8]; // 0x790 public: CClientAlphaProperty* m_pClientAlphaProperty; // 0x798 Color m_ClientOverrideTint; // 0x7a0 bool m_bUseClientOverrideTint; // 0x7a4 }; // Alignment: 0 // Size: 0x7a8 class CServerOnlyModelEntity : public C_BaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x7a8 class C_ModelPointEntity : public C_BaseModelEntity { public: // No members available }; // Alignment: 7 // Size: 0x580 class CLogicRelay : public CLogicalEntity { public: CEntityIOOutput m_OnTrigger; // 0x528 CEntityIOOutput m_OnSpawn; // 0x550 bool m_bDisabled; // 0x578 bool m_bWaitForRefire; // 0x579 bool m_bTriggerOnce; // 0x57a bool m_bFastRetrigger; // 0x57b bool m_bPassthoughCaller; // 0x57c }; // Alignment: 23 // Size: 0xd58 class C_ParticleSystem : public C_BaseModelEntity { public: // MNetworkEnable char m_szSnapshotFileName[512]; // 0x7a8 // MNetworkEnable bool m_bActive; // 0x9a8 // MNetworkEnable bool m_bFrozen; // 0x9a9 private: [[maybe_unused]] uint8_t __pad09aa[0x2]; // 0x9aa public: // MNetworkEnable float m_flFreezeTransitionDuration; // 0x9ac // MNetworkEnable int32_t m_nStopType; // 0x9b0 // MNetworkEnable bool m_bAnimateDuringGameplayPause; // 0x9b4 private: [[maybe_unused]] uint8_t __pad09b5[0x3]; // 0x9b5 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x9b8 // MNetworkEnable GameTime_t m_flStartTime; // 0x9c0 // MNetworkEnable float m_flPreSimTime; // 0x9c4 // MNetworkEnable Vector m_vServerControlPoints[4]; // 0x9c8 // MNetworkEnable uint8_t m_iServerControlPointAssignments[4]; // 0x9f8 // MNetworkEnable CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0x9fc // MNetworkEnable bool m_bNoSave; // 0xafc // MNetworkEnable bool m_bNoFreeze; // 0xafd bool m_bStartActive; // 0xafe private: [[maybe_unused]] uint8_t __pad0aff[0x1]; // 0xaff public: CUtlSymbolLarge m_iszEffectName; // 0xb00 CUtlSymbolLarge m_iszControlPointNames[64]; // 0xb08 int32_t m_nDataCP; // 0xd08 Vector m_vecDataCPValue; // 0xd0c int32_t m_nTintCP; // 0xd18 Color m_clrTint; // 0xd1c private: [[maybe_unused]] uint8_t __pad0d20[0x20]; // 0xd20 public: bool m_bOldActive; // 0xd40 bool m_bOldFrozen; // 0xd41 }; // Alignment: 16 // Size: 0x630 class C_PathParticleRope : public C_BaseEntity { public: bool m_bStartActive; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: float m_flMaxSimulationTime; // 0x52c CUtlSymbolLarge m_iszEffectName; // 0x530 CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x538 // MNetworkEnable float m_flParticleSpacing; // 0x550 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" float m_flSlack; // 0x554 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" float m_flRadius; // 0x558 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" Color m_ColorTint; // 0x55c // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" int32_t m_nEffectState; // 0x560 private: [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x568 // MNetworkEnable C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x570 // MNetworkEnable C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x588 // MNetworkEnable C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5a0 // MNetworkEnable C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x5b8 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x5d0 // MNetworkEnable C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5e8 }; // Alignment: 0 // Size: 0x630 class C_PathParticleRopeAlias_path_particle_rope_clientside : public C_PathParticleRope { public: // No members available }; // Alignment: 7 // Size: 0x7d0 class C_DynamicLight : public C_BaseModelEntity { public: // MNetworkEnable uint8_t m_Flags; // 0x7a8 // MNetworkEnable uint8_t m_LightStyle; // 0x7a9 private: [[maybe_unused]] uint8_t __pad07aa[0x2]; // 0x7aa public: // MNetworkEnable float m_Radius; // 0x7ac // MNetworkEnable int32_t m_Exponent; // 0x7b0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" float m_InnerAngle; // 0x7b4 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "360.000000" float m_OuterAngle; // 0x7b8 // MNetworkEnable float m_SpotRadius; // 0x7bc }; // Alignment: 9 // Size: 0x5b8 class C_EnvScreenOverlay : public C_PointEntity { public: // MNetworkEnable CUtlSymbolLarge m_iszOverlayNames[10]; // 0x528 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1.000000" // MNetworkMaxValue "63.000000" float m_flOverlayTimes[10]; // 0x578 // MNetworkEnable GameTime_t m_flStartTime; // 0x5a0 // MNetworkEnable int32_t m_iDesiredOverlay; // 0x5a4 // MNetworkEnable bool m_bIsActive; // 0x5a8 bool m_bWasActive; // 0x5a9 private: [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa public: int32_t m_iCachedDesiredOverlay; // 0x5ac int32_t m_iCurrentOverlay; // 0x5b0 GameTime_t m_flCurrentOverlayTime; // 0x5b4 }; // Alignment: 3 // Size: 0x7b8 class C_FuncTrackTrain : public C_BaseModelEntity { public: int32_t m_nLongAxis; // 0x7a8 float m_flRadius; // 0x7ac float m_flLineLength; // 0x7b0 }; // Alignment: 1 // Size: 0x530 class C_RagdollManager : public C_BaseEntity { public: // MNetworkEnable int8_t m_iCurrentMaxRagdollCount; // 0x528 }; // Alignment: 4 // Size: 0x538 class C_PointHMDAnchor : public C_BaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: // MNetworkEnable GameTime_t m_flEnableTime; // 0x52c // MNetworkEnable int32_t m_nPlayerIndex; // 0x530 int32_t m_nLastSimulateFrame; // 0x534 }; // Alignment: 0 // Size: 0x538 class C_PointHMDAnchorOverride : public C_PointHMDAnchor { public: // No members available }; // Alignment: 25 // Size: 0x5a0 class C_PointValueRemapper : public C_BaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x528 bool m_bDisabledOld; // 0x529 // MNetworkEnable bool m_bUpdateOnClient; // 0x52a private: [[maybe_unused]] uint8_t __pad052b[0x1]; // 0x52b public: // MNetworkEnable ValueRemapperInputType_t m_nInputType; // 0x52c // MNetworkEnable CHandle< C_BaseEntity > m_hRemapLineStart; // 0x530 // MNetworkEnable CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x534 // MNetworkEnable float m_flMaximumChangePerSecond; // 0x538 // MNetworkEnable float m_flDisengageDistance; // 0x53c // MNetworkEnable float m_flEngageDistance; // 0x540 // MNetworkEnable bool m_bRequiresUseKey; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: // MNetworkEnable ValueRemapperOutputType_t m_nOutputType; // 0x548 private: [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c public: // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x550 // MNetworkEnable ValueRemapperHapticsType_t m_nHapticsType; // 0x568 // MNetworkEnable ValueRemapperMomentumType_t m_nMomentumType; // 0x56c // MNetworkEnable float m_flMomentumModifier; // 0x570 // MNetworkEnable float m_flSnapValue; // 0x574 float m_flCurrentMomentum; // 0x578 // MNetworkEnable ValueRemapperRatchetType_t m_nRatchetType; // 0x57c float m_flRatchetOffset; // 0x580 // MNetworkEnable float m_flInputOffset; // 0x584 bool m_bEngaged; // 0x588 bool m_bFirstUpdate; // 0x589 private: [[maybe_unused]] uint8_t __pad058a[0x2]; // 0x58a public: float m_flPreviousValue; // 0x58c GameTime_t m_flPreviousUpdateTickTime; // 0x590 Vector m_vecPreviousTestPoint; // 0x594 }; // Alignment: 12 // Size: 0xa20 class C_PointWorldText : public C_ModelPointEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: bool m_bForceRecreateNextUpdate; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b1[0xf]; // 0x7b1 public: // MNetworkEnable char m_messageText[512]; // 0x7c0 // MNetworkEnable char m_FontName[64]; // 0x9c0 // MNetworkEnable bool m_bEnabled; // 0xa00 // MNetworkEnable bool m_bFullbright; // 0xa01 private: [[maybe_unused]] uint8_t __pad0a02[0x2]; // 0xa02 public: // MNetworkEnable float m_flWorldUnitsPerPx; // 0xa04 // MNetworkEnable float m_flFontSize; // 0xa08 // MNetworkEnable float m_flDepthOffset; // 0xa0c // MNetworkEnable Color m_Color; // 0xa10 // MNetworkEnable PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xa14 // MNetworkEnable PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xa18 // MNetworkEnable PointWorldTextReorientMode_t m_nReorientMode; // 0xa1c }; // Alignment: 1 // Size: 0x730 class C_EnvWind : public C_BaseEntity { public: // MNetworkEnable C_EnvWindShared m_EnvWindShared; // 0x528 }; // Alignment: 0 // Size: 0x7a8 class C_BaseToggle : public C_BaseModelEntity { public: // No members available }; // Alignment: 3 // Size: 0x7b8 class C_BaseButton : public C_BaseToggle { public: // MNetworkEnable CHandle< C_BaseModelEntity > m_glowEntity; // 0x7a8 // MNetworkEnable bool m_usable; // 0x7ac private: [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MNetworkEnable CUtlSymbolLarge m_szDisplayText; // 0x7b0 }; // Alignment: 0 // Size: 0x7a8 class C_PrecipitationBlocker : public C_BaseModelEntity { public: // No members available }; // Alignment: 13 // Size: 0x7f0 class C_EntityDissolve : public C_BaseModelEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: // MNetworkEnable GameTime_t m_flStartTime; // 0x7b0 // MNetworkEnable float m_flFadeInStart; // 0x7b4 // MNetworkEnable float m_flFadeInLength; // 0x7b8 // MNetworkEnable float m_flFadeOutModelStart; // 0x7bc // MNetworkEnable float m_flFadeOutModelLength; // 0x7c0 // MNetworkEnable float m_flFadeOutStart; // 0x7c4 // MNetworkEnable float m_flFadeOutLength; // 0x7c8 GameTime_t m_flNextSparkTime; // 0x7cc // MNetworkEnable EntityDisolveType_t m_nDissolveType; // 0x7d0 // MNetworkEnable Vector m_vDissolverOrigin; // 0x7d4 // MNetworkEnable uint32_t m_nMagnitude; // 0x7e0 bool m_bCoreExplode; // 0x7e4 bool m_bLinkedToServerEnt; // 0x7e5 }; // Alignment: 0 // Size: 0xa90 class C_EnvProjectedTexture : public C_ModelPointEntity { public: // No members available }; // Alignment: 9 // Size: 0x7e0 class C_EnvDecal : public C_BaseModelEntity { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hDecalMaterial; // 0x7a8 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" float m_flWidth; // 0x7b0 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" float m_flHeight; // 0x7b4 // MNetworkEnable // MNetworkChangeCallback "OnDecalDimensionsChanged" float m_flDepth; // 0x7b8 // MNetworkEnable uint32_t m_nRenderOrder; // 0x7bc // MNetworkEnable bool m_bProjectOnWorld; // 0x7c0 // MNetworkEnable bool m_bProjectOnCharacters; // 0x7c1 // MNetworkEnable bool m_bProjectOnWater; // 0x7c2 private: [[maybe_unused]] uint8_t __pad07c3[0x1]; // 0x7c3 public: // MNetworkEnable float m_flDepthSortBias; // 0x7c4 }; // Alignment: 0 // Size: 0x7a8 class C_FuncBrush : public C_BaseModelEntity { public: // No members available }; // Alignment: 3 // Size: 0x7c0 class C_FuncElectrifiedVolume : public C_FuncBrush { public: ParticleIndex_t m_nAmbientEffect; // 0x7a8 private: [[maybe_unused]] uint8_t __pad07ac[0x4]; // 0x7ac public: // MNetworkEnable CUtlSymbolLarge m_EffectName; // 0x7b0 // MNetworkEnable bool m_bState; // 0x7b8 }; // Alignment: 0 // Size: 0x7a8 class C_FuncRotating : public C_BaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x7a8 class C_Breakable : public C_BaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x7a8 class C_PhysBox : public C_Breakable { public: // No members available }; // Alignment: 41 // Size: 0xb90 class C_RopeKeyframe : public C_BaseModelEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: CBitVec< 10 > m_LinksTouchingSomething; // 0x7b0 int32_t m_nLinksTouchingSomething; // 0x7b4 bool m_bApplyWind; // 0x7b8 private: [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 public: int32_t m_fPrevLockedPoints; // 0x7bc int32_t m_iForcePointMoveCounter; // 0x7c0 bool m_bPrevEndPointPos[2]; // 0x7c4 private: [[maybe_unused]] uint8_t __pad07c6[0x2]; // 0x7c6 public: Vector m_vPrevEndPointPos[2]; // 0x7c8 float m_flCurScroll; // 0x7e0 // MNetworkEnable float m_flScrollSpeed; // 0x7e4 // MNetworkEnable uint16_t m_RopeFlags; // 0x7e8 private: [[maybe_unused]] uint8_t __pad07ea[0x6]; // 0x7ea public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x7f0 private: [[maybe_unused]] uint8_t __pad07f8[0x270]; // 0x7f8 public: Vector m_LightValues[10]; // 0xa68 // MNetworkEnable uint8_t m_nSegments; // 0xae0 private: [[maybe_unused]] uint8_t __pad0ae1[0x3]; // 0xae1 public: // MNetworkEnable CHandle< C_BaseEntity > m_hStartPoint; // 0xae4 // MNetworkEnable CHandle< C_BaseEntity > m_hEndPoint; // 0xae8 // MNetworkEnable AttachmentHandle_t m_iStartAttachment; // 0xaec // MNetworkEnable AttachmentHandle_t m_iEndAttachment; // 0xaed // MNetworkEnable uint8_t m_Subdiv; // 0xaee private: [[maybe_unused]] uint8_t __pad0aef[0x1]; // 0xaef public: // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" int16_t m_RopeLength; // 0xaf0 // MNetworkEnable // MNetworkChangeCallback "RecomputeSprings" int16_t m_Slack; // 0xaf2 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.100000" // MNetworkMaxValue "10.000000" float m_TextureScale; // 0xaf4 // MNetworkEnable uint8_t m_fLockedPoints; // 0xaf8 // MNetworkEnable uint8_t m_nChangeCount; // 0xaf9 private: [[maybe_unused]] uint8_t __pad0afa[0x2]; // 0xafa public: // MNetworkEnable float m_Width; // 0xafc C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xb00 CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xb10 int32_t m_TextureHeight; // 0xb18 Vector m_vecImpulse; // 0xb1c Vector m_vecPreviousImpulse; // 0xb28 float m_flCurrentGustTimer; // 0xb34 float m_flCurrentGustLifetime; // 0xb38 float m_flTimeToNextGust; // 0xb3c Vector m_vWindDir; // 0xb40 Vector m_vColorMod; // 0xb4c Vector m_vCachedEndPointAttachmentPos[2]; // 0xb58 QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xb70 // MNetworkEnable bool m_bConstrainBetweenEndpoints; // 0xb88 struct { uint8_t m_bEndPointAttachmentPositionsDirty: 1; uint8_t m_bEndPointAttachmentAnglesDirty: 1; uint8_t m_bNewDataThisFrame: 1; uint8_t m_bPhysicsInitted: 1; uint8_t __pad2: 4; }; // 8 bits }; // Alignment: 12 // Size: 0x588 class C_SceneEntity : public C_PointEntity { private: [[maybe_unused]] uint8_t __pad0528[0x8]; // 0x528 public: // MNetworkEnable bool m_bIsPlayingBack; // 0x530 // MNetworkEnable bool m_bPaused; // 0x531 // MNetworkEnable bool m_bMultiplayer; // 0x532 // MNetworkEnable bool m_bAutogenerated; // 0x533 // MNetworkEnable // MNetworkChangeCallback "OnResetClientTime" float m_flForceClientTime; // 0x534 // MNetworkEnable // MNetworkPriority "32" uint16_t m_nSceneStringIndex; // 0x538 bool m_bClientOnly; // 0x53a private: [[maybe_unused]] uint8_t __pad053b[0x1]; // 0x53b public: CHandle< C_BaseFlex > m_hOwner; // 0x53c // MNetworkEnable // MNetworkPriority "32" C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x540 bool m_bWasPlaying; // 0x558 private: [[maybe_unused]] uint8_t __pad0559[0xf]; // 0x559 public: CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x568 float m_flCurrentTime; // 0x580 }; // Alignment: 2 // Size: 0x7b0 class C_BaseTrigger : public C_BaseToggle { public: // MNetworkEnable bool m_bDisabled; // 0x7a8 // MNetworkEnable bool m_bClientSidePredicted; // 0x7a9 }; // Alignment: 0 // Size: 0x7a8 class C_TriggerVolume : public C_BaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x7b0 class C_TriggerLerpObject : public C_BaseTrigger { public: // No members available }; // Alignment: 0 // Size: 0x7b0 class C_TriggerBuoyancy : public C_BaseTrigger { public: // No members available }; // Alignment: 13 // Size: 0x30 class CClientAlphaProperty : public IClientAlphaProperty { private: [[maybe_unused]] uint8_t __pad0008[0x8]; // 0x8 public: uint8_t m_nRenderFX; // 0x10 uint8_t m_nRenderMode; // 0x11 struct { uint8_t m_bAlphaOverride: 1; uint8_t m_bShadowAlphaOverride: 1; uint8_t m_nReserved: 6; uint8_t __pad3: 8; }; // 16 bits uint8_t m_nAlpha; // 0x13 uint16_t m_nDesyncOffset; // 0x14 uint16_t m_nReserved2; // 0x16 uint16_t m_nDistFadeStart; // 0x18 uint16_t m_nDistFadeEnd; // 0x1a float m_flFadeScale; // 0x1c GameTime_t m_flRenderFxStartTime; // 0x20 float m_flRenderFxDuration; // 0x24 }; // Alignment: 24 // Size: 0x868 class C_Beam : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "-25.000000" // MNetworkMaxValue "25.000000" // MNetworkEncodeFlags float m_flFrameRate; // 0x7a8 // MNetworkEnable float m_flHDRColorScale; // 0x7ac GameTime_t m_flFireTime; // 0x7b0 float m_flDamage; // 0x7b4 // MNetworkEnable uint8_t m_nNumBeamEnts; // 0x7b8 private: [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 public: int32_t m_queryHandleHalo; // 0x7bc private: [[maybe_unused]] uint8_t __pad07c0[0x20]; // 0x7c0 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x7e0 // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x7e8 // MNetworkEnable BeamType_t m_nBeamType; // 0x7f0 // MNetworkEnable uint32_t m_nBeamFlags; // 0x7f4 // MNetworkEnable CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x7f8 // MNetworkEnable AttachmentHandle_t m_nAttachIndex[10]; // 0x820 private: [[maybe_unused]] uint8_t __pad082a[0x2]; // 0x82a public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags float m_fWidth; // 0x82c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.000000" // MNetworkMaxValue "102.300003" // MNetworkEncodeFlags float m_fEndWidth; // 0x830 // MNetworkEnable float m_fFadeLength; // 0x834 // MNetworkEnable float m_fHaloScale; // 0x838 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags float m_fAmplitude; // 0x83c // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags float m_fStartFrame; // 0x840 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "100.000000" float m_fSpeed; // 0x844 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags // MNetworkPriority "32" float m_flFrame; // 0x848 // MNetworkEnable BeamClipStyle_t m_nClipStyle; // 0x84c // MNetworkEnable bool m_bTurnedOff; // 0x850 private: [[maybe_unused]] uint8_t __pad0851[0x3]; // 0x851 public: // MNetworkEnable // MNetworkEncoder Vector m_vecEndPos; // 0x854 CHandle< C_BaseEntity > m_hEndEntity; // 0x860 }; // Alignment: 7 // Size: 0x128 class CPrecipitationVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 float m_flInnerDistance; // 0x108 ParticleAttachment_t m_nAttachType; // 0x10c bool m_bBatchSameVolumeType; // 0x110 private: [[maybe_unused]] uint8_t __pad0111[0x3]; // 0x111 public: int32_t m_nRTEnvCP; // 0x114 int32_t m_nRTEnvCPComponent; // 0x118 private: [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c public: CUtlString m_szModifier; // 0x120 }; // Alignment: 24 // Size: 0x8d8 class C_Sprite : public C_BaseModelEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x18]; // 0x7a8 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x7c0 // MNetworkEnable CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x7c8 // MNetworkEnable AttachmentHandle_t m_nAttachment; // 0x7cc private: [[maybe_unused]] uint8_t __pad07cd[0x3]; // 0x7cd public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "60.000000" // MNetworkEncodeFlags float m_flSpriteFramerate; // 0x7d0 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "256.000000" // MNetworkEncodeFlags float m_flFrame; // 0x7d4 GameTime_t m_flDieTime; // 0x7d8 private: [[maybe_unused]] uint8_t __pad07dc[0xc]; // 0x7dc public: // MNetworkEnable uint32_t m_nBrightness; // 0x7e8 // MNetworkEnable float m_flBrightnessDuration; // 0x7ec // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" float m_flSpriteScale; // 0x7f0 // MNetworkEnable float m_flScaleDuration; // 0x7f4 // MNetworkEnable bool m_bWorldSpaceScale; // 0x7f8 private: [[maybe_unused]] uint8_t __pad07f9[0x3]; // 0x7f9 public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0.000000" // MNetworkMaxValue "64.000000" // MNetworkEncodeFlags float m_flGlowProxySize; // 0x7fc // MNetworkEnable float m_flHDRColorScale; // 0x800 GameTime_t m_flLastTime; // 0x804 float m_flMaxFrame; // 0x808 float m_flStartScale; // 0x80c float m_flDestScale; // 0x810 GameTime_t m_flScaleTimeStart; // 0x814 int32_t m_nStartBrightness; // 0x818 int32_t m_nDestBrightness; // 0x81c GameTime_t m_flBrightnessTimeStart; // 0x820 private: [[maybe_unused]] uint8_t __pad0824[0x4]; // 0x824 public: CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x828 private: [[maybe_unused]] uint8_t __pad0830[0xa0]; // 0x830 public: int32_t m_nSpriteWidth; // 0x8d0 int32_t m_nSpriteHeight; // 0x8d4 }; // Alignment: 0 // Size: 0x8d8 class C_SpriteOriented : public C_Sprite { public: // No members available }; // Alignment: 4 // Size: 0x7d8 class C_BaseClientUIEntity : public C_BaseModelEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: // MNetworkEnable bool m_bEnabled; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b1[0x7]; // 0x7b1 public: // MNetworkEnable CUtlSymbolLarge m_DialogXMLName; // 0x7b8 // MNetworkEnable CUtlSymbolLarge m_PanelClassName; // 0x7c0 // MNetworkEnable CUtlSymbolLarge m_PanelID; // 0x7c8 }; // Alignment: 2 // Size: 0x7e0 class C_PointClientUIDialog : public C_BaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" CHandle< C_BaseEntity > m_hActivator; // 0x7d8 bool m_bStartEnabled; // 0x7dc }; // Alignment: 13 // Size: 0x9b0 class C_PointClientUIHUD : public C_BaseClientUIEntity { private: [[maybe_unused]] uint8_t __pad07d8[0x8]; // 0x7d8 public: bool m_bCheckCSSClasses; // 0x7e0 private: [[maybe_unused]] uint8_t __pad07e1[0x187]; // 0x7e1 public: // MNetworkEnable bool m_bIgnoreInput; // 0x968 private: [[maybe_unused]] uint8_t __pad0969[0x3]; // 0x969 public: // MNetworkEnable float m_flWidth; // 0x96c // MNetworkEnable float m_flHeight; // 0x970 // MNetworkEnable float m_flDPI; // 0x974 // MNetworkEnable float m_flInteractDistance; // 0x978 // MNetworkEnable float m_flDepthOffset; // 0x97c // MNetworkEnable uint32_t m_unOwnerContext; // 0x980 // MNetworkEnable uint32_t m_unHorizontalAlign; // 0x984 // MNetworkEnable uint32_t m_unVerticalAlign; // 0x988 // MNetworkEnable uint32_t m_unOrientation; // 0x98c // MNetworkEnable bool m_bAllowInteractionFromAllSceneWorlds; // 0x990 private: [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 public: // MNetworkEnable C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x998 }; // Alignment: 28 // Size: 0xa10 class C_PointClientUIWorldPanel : public C_BaseClientUIEntity { private: [[maybe_unused]] uint8_t __pad07d8[0x8]; // 0x7d8 public: bool m_bForceRecreateNextUpdate; // 0x7e0 bool m_bMoveViewToPlayerNextThink; // 0x7e1 bool m_bCheckCSSClasses; // 0x7e2 private: [[maybe_unused]] uint8_t __pad07e3[0xd]; // 0x7e3 public: CTransform m_anchorDeltaTransform; // 0x7f0 private: [[maybe_unused]] uint8_t __pad0810[0x180]; // 0x810 public: CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0x990 private: [[maybe_unused]] uint8_t __pad0998[0x20]; // 0x998 public: // MNetworkEnable bool m_bIgnoreInput; // 0x9b8 // MNetworkEnable bool m_bLit; // 0x9b9 // MNetworkEnable bool m_bFollowPlayerAcrossTeleport; // 0x9ba private: [[maybe_unused]] uint8_t __pad09bb[0x1]; // 0x9bb public: // MNetworkEnable float m_flWidth; // 0x9bc // MNetworkEnable float m_flHeight; // 0x9c0 // MNetworkEnable float m_flDPI; // 0x9c4 // MNetworkEnable float m_flInteractDistance; // 0x9c8 // MNetworkEnable float m_flDepthOffset; // 0x9cc // MNetworkEnable uint32_t m_unOwnerContext; // 0x9d0 // MNetworkEnable uint32_t m_unHorizontalAlign; // 0x9d4 // MNetworkEnable uint32_t m_unVerticalAlign; // 0x9d8 // MNetworkEnable uint32_t m_unOrientation; // 0x9dc // MNetworkEnable bool m_bAllowInteractionFromAllSceneWorlds; // 0x9e0 private: [[maybe_unused]] uint8_t __pad09e1[0x7]; // 0x9e1 public: // MNetworkEnable C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x9e8 // MNetworkEnable bool m_bOpaque; // 0xa00 // MNetworkEnable bool m_bNoDepth; // 0xa01 // MNetworkEnable bool m_bRenderBackface; // 0xa02 // MNetworkEnable bool m_bUseOffScreenIndicator; // 0xa03 // MNetworkEnable bool m_bExcludeFromSaveGames; // 0xa04 // MNetworkEnable bool m_bGrabbable; // 0xa05 // MNetworkEnable bool m_bOnlyRenderToTexture; // 0xa06 // MNetworkEnable bool m_bDisableMipGen; // 0xa07 // MNetworkEnable int32_t m_nExplicitImageLayout; // 0xa08 }; // Alignment: 4 // Size: 0xa20 class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel { public: bool m_bBeenEnabled; // 0xa10 bool m_bHide; // 0xa11 private: [[maybe_unused]] uint8_t __pad0a12[0x2]; // 0xa12 public: float m_flSeenTargetTime; // 0xa14 C_PointClientUIWorldPanel* m_pTargetPanel; // 0xa18 }; // Alignment: 1 // Size: 0xc10 class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel { public: // MNetworkEnable char m_messageText[512]; // 0xa10 }; // Alignment: 14 // Size: 0xab0 class C_PointHintUi : public C_PointClientUIWorldPanel { private: [[maybe_unused]] uint8_t __pad0a10[0x30]; // 0xa10 public: CUtlSymbolLarge m_pszLessonName; // 0xa40 CUtlSymbolLarge m_pszCaption; // 0xa48 Vector m_vOffset; // 0xa50 WorldTextAttachmentType_t m_attachType; // 0xa5c CHandle< C_BaseEntity > m_hIconTarget; // 0xa60 private: [[maybe_unused]] uint8_t __pad0a64[0x4]; // 0xa64 public: CUtlSymbolLarge m_szTargetAttachmentName; // 0xa68 CUtlSymbolLarge m_pszCustomLayoutFile; // 0xa70 int32_t m_nTrackedDeviceIndex; // 0xa78 CHandle< C_PropVRHand > m_hHighlightHand; // 0xa7c CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xa80 CUtlSymbolLarge m_pszHighlightControllerAction; // 0xa88 Vector m_vecLocalHighlightPoint; // 0xa90 private: [[maybe_unused]] uint8_t __pad0a9c[0x4]; // 0xa9c public: CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xaa0 bool m_bUseOffScreenIndicator; // 0xaa8 }; // Alignment: 9 // Size: 0x710 class CInfoOffscreenPanoramaTexture : public C_PointEntity { public: // MNetworkEnable bool m_bDisabled; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: // MNetworkEnable int32_t m_nResolutionX; // 0x52c // MNetworkEnable int32_t m_nResolutionY; // 0x530 private: [[maybe_unused]] uint8_t __pad0534[0x4]; // 0x534 public: // MNetworkEnable CUtlSymbolLarge m_szLayoutFileName; // 0x538 // MNetworkEnable CUtlSymbolLarge m_RenderAttrName; // 0x540 // MNetworkEnable C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x548 // MNetworkEnable int32_t m_nTargetChangeCount; // 0x560 private: [[maybe_unused]] uint8_t __pad0564[0x4]; // 0x564 public: // MNetworkEnable C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x568 private: [[maybe_unused]] uint8_t __pad0580[0x160]; // 0x580 public: bool m_bCheckCSSClasses; // 0x6e0 }; // Alignment: 1 // Size: 0x128 class CAttributeContainer : public CAttributeManager { public: // MNetworkEnable C_EconItemView m_Item; // 0x68 }; // Alignment: 5 // Size: 0x7d0 class CBaseAnimatingActivity : public C_BaseModelEntity { public: // MNetworkEnable bool m_bShouldAnimateDuringGameplayPause; // 0x7a8 // MNetworkEnable bool m_bInitiallyPopulateInterpHistory; // 0x7a9 private: [[maybe_unused]] uint8_t __pad07aa[0x6]; // 0x7aa public: CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x7b0 bool m_bHasAnimatedMaterialAttributes; // 0x7b8 private: [[maybe_unused]] uint8_t __pad07b9[0xf]; // 0x7b9 public: bool m_bSuppressAnimEventSounds; // 0x7c8 }; // Alignment: 0 // Size: 0x7d0 class C_BaseAnimatingOverlay : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f0 class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 bool m_bEverFound; // 0x11ec bool m_bBonus; // 0x11ed }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Turbo_Courier_Invulnerable : public CDOTA_Modifier_Invulnerable { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Courier_AutoDeliver : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5c8 class C_DOTA_Ability_Brewmaster_PrimalSplit : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hPrimary; // 0x5a0 // MNetworkEnable CHandle< C_BaseEntity > m_hSecondary; // 0x5a4 // MNetworkEnable CHandle< C_BaseEntity > m_hTertiary; // 0x5a8 // MNetworkEnable CHandle< C_BaseEntity > m_hFourth; // 0x5ac GameTime_t m_fHurlBoulder_CooldownTime; // 0x5b0 GameTime_t m_fHDispelMagic_CooldownTime; // 0x5b4 GameTime_t m_fCyclone_CooldownTime; // 0x5b8 GameTime_t m_fWindWalk_CooldownTime; // 0x5bc GameTime_t m_fAstralPulse_CooldownTime; // 0x5c0 }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_DeathProphet_Exorcism : public C_DOTABaseAbility { public: CUtlVector< sSpiritInfo* > m_SpiritInfos; // 0x5a0 }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Wisp_Spirits : public C_DOTABaseAbility { public: CUtlVector< sSpiritDef > m_SpiritDefs; // 0x5a0 int32_t m_nWispDirection; // 0x5b8 int32_t spirit_amount; // 0x5bc }; // Alignment: 8 // Size: 0x5d8 class C_DOTA_Ability_MonkeyKing_FurArmy : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 ParticleIndex_t m_nFXIndex; // 0x5a4 int32_t num_first_soldiers; // 0x5a8 int32_t num_second_soldiers; // 0x5ac bool m_bCreateMonkeys; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: GameTime_t m_flNextCreationTime; // 0x5b4 GameTime_t m_flScepterTime; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: CUtlVector< CHandle< C_BaseEntity > > m_vecSoldiers; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Generic_Hidden : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Jungle_Varmint : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Jungle_Varmint_Dive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff { public: int32_t distance; // 0x11e8 float speed; // 0x11ec float acceleration; // 0x11f0 int32_t radius; // 0x11f4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Pudge_FleshHeap : public C_DOTABaseAbility { public: int32_t m_iKills; // 0x5a0 }; // Alignment: 5 // Size: 0x11f8 class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff { public: int32_t scepter_move_speed_pct; // 0x11e8 int32_t scepter_attack_speed; // 0x11ec CHandle< C_BaseEntity > m_hTarget; // 0x11f0 bool m_bPassive; // 0x11f4 bool m_bKillAtEnd; // 0x11f5 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 bool m_bPassive; // 0x11ec }; // Alignment: 8 // Size: 0x1218 class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff { public: int32_t reward_damage; // 0x11e8 int32_t scepter_damage_reduction_pct; // 0x11ec bool m_bAttacked; // 0x11f0 bool m_bHadAVictor; // 0x11f1 private: [[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2 public: GameTime_t m_flTimeDuelStart; // 0x11f4 CHandle< C_BaseEntity > m_hPartner; // 0x11f8 float m_flNextTime; // 0x11fc CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x1200 }; // Alignment: 3 // Size: 0x640 class C_DOTA_Item_Tombstone : public C_DOTA_Item { public: float m_flTimer; // 0x630 ParticleIndex_t m_nFXIndex; // 0x634 ParticleIndex_t m_nFXIndex2; // 0x638 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hVarmint; // 0x11e8 CEntityIndex m_nClientVarmintEntIndex; // 0x11ec }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_VengefulSpirit_Command_Aura : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnScepterIllusionChanged" CHandle< C_BaseEntity > m_hScepterIllusion; // 0x5a0 }; // Alignment: 2 // Size: 0x7d8 class C_DOTA_BinaryObject : public CBaseAnimatingActivity { public: bool m_bActive; // 0x7d0 private: [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: int32_t m_nBinaryID; // 0x7d4 }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Capture : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CDOTA_Buff* m_pMyBuff; // 0x5a8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff { public: // No members available }; // Alignment: 11 // Size: 0x1228 class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff { public: int32_t m_iCapturingTeam; // 0x11e8 float m_flCaptureProgress; // 0x11ec float m_flBonusTime; // 0x11f0 bool m_bInitialSetupDone; // 0x11f4 private: [[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5 public: int32_t m_iOriginalTeam; // 0x11f8 CHandle< C_BaseEntity > m_hPreviousHero; // 0x11fc CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x1200 float m_flAccumulatedCaptureTime; // 0x1218 int32_t m_iBonusCount; // 0x121c ParticleIndex_t m_nFxOutpostAmbient; // 0x1220 ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x1224 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Watch_Tower_Marker : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Lamp_Use : public C_DOTABaseAbility { public: GameTime_t m_flLastCaptureTime; // 0x5a0 ParticleIndex_t m_nChannelFXIndex; // 0x5a4 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Lamp_On : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff { public: int32_t m_iTempViewer; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Twin_Gate_Portal_Warp : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff { public: ParticleIndex_t m_nPortalAmbientFX; // 0x11e8 float m_fPortalRadius; // 0x11ec }; // Alignment: 7 // Size: 0x1208 class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff { public: ParticleIndex_t m_nfxTargetTp; // 0x11e8 ParticleIndex_t m_nfxTargetTp2; // 0x11ec ParticleIndex_t m_nfxAmbientFx; // 0x11f0 ParticleIndex_t m_nfxPortal1; // 0x11f4 ParticleIndex_t m_nfxPortal2; // 0x11f8 float animation_rate; // 0x11fc int32_t stop_distance; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff { public: int32_t m_iLifeStealPct; // 0x11e8 int32_t m_iHealthDrain; // 0x11ec }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff { public: int32_t m_iDamageBase; // 0x11e8 int32_t m_iDamagePerLevel; // 0x11ec int32_t m_iRadius; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff { public: int32_t m_iReductionPct; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff { public: int32_t m_iDamageDonePct; // 0x11e8 int32_t m_iDamageTakenPct; // 0x11ec int32_t m_iModelScale; // 0x11f0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff { public: int32_t m_iRadius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff { public: int32_t m_iCooldownReduction; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff { public: int32_t m_iChance; // 0x11e8 int32_t m_iDamageMultiplier; // 0x11ec }; // Alignment: 0 // Size: 0x870 class C_DOTA_Item_DeathGoldDropped : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_ContextualTips : public CDOTA_Buff { public: // Static fields: static float &Get_k_flParentDamageTrackingWindow(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_ContextualTips")->m_static_fields[0]->m_instance);}; static float &Get_k_flGlobalTipCooldown(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_ContextualTips")->m_static_fields[1]->m_instance);}; }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_731_Teaser_Thinker : public CDOTA_Buff { public: // No members available }; // Alignment: 6 // Size: 0x8d8 class C_DOTA_TempTree : public CBaseAnimatingActivity { private: [[maybe_unused]] uint8_t __pad07d0[0x30]; // 0x7d0 public: GameTime_t m_fExpireTime; // 0x800 // MNetworkEnable Vector m_vecTreeCircleCenter; // 0x804 // MNetworkEnable bool m_bCanApplyTreeCostume; // 0x810 // MNetworkEnable bool m_bIsMangoTree; // 0x811 private: [[maybe_unused]] uint8_t __pad0812[0x6]; // 0x812 public: CUtlVector< ParticleIndex_t > m_Particles; // 0x818 // MNetworkEnable bool m_bIsPartOfFowSystem; // 0x830 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff { public: ParticleIndex_t m_iFXIndex; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Neutral_Creep_Lost : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KoboldTaskmaster_SpeedAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff { public: int32_t bonus_movement_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CentaurKhan_EnduranceAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff { public: int32_t bonus_attack_speed; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CentaurKhan_WarStomp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Spawnlord_Master_Stomp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff { public: int32_t armor_reduction_pct; // 0x11e8 float m_flArmorReduction; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spawnlord_Master_Freeze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff { public: bool m_bFreezeAttack; // 0x11e8 private: [[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9 public: ParticleIndex_t m_nFXIndex; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff { public: int32_t max_ticks; // 0x11e8 float damage; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_GnollAssassin_EnvenomedWeapon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 float non_hero_duration; // 0x11ec float hero_duration; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 int32_t regen_reduction; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ghost_FrostAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t movespeed_slow; // 0x11ec int32_t attackspeed_slow; // 0x11f0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_WarpineRaider_SeedShot : public C_DOTABaseAbility { public: int32_t m_iBounces; // 0x5a0 int32_t bounces; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff { public: CHandle< C_BaseEntity > m_hTarget; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff { public: int32_t slow; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Neutral_SpellImmunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Neutral_SpellImmunity_Visible : public CDOTA_Modifier_MagicImmune { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_OgreMagi_FrostArmor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff { public: int32_t armor_bonus; // 0x11e8 float slow_duration; // 0x11ec }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkTrollWarlord_Ensnare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DarkTrollWarlord_Ensnare : public CDOTA_Modifier_Rooted { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkTrollWarlord_RaiseDead : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_GiantWolf_CriticalStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 int32_t crit_chance; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AncientGolem_Rockslide : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_MudGolem_RockDestroy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1200 class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff { public: int32_t radius; // 0x11e8 float duration; // 0x11ec int32_t shard_health; // 0x11f0 int32_t shard_damage; // 0x11f4 int32_t shard_duration; // 0x11f8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_MudGolem_Rock_Shard : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_MudGolem_HurlBoulder : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_DoNotCastSmash : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AlphaWolf_CriticalStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff { public: int32_t crit_mult; // 0x11e8 int32_t crit_chance; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AncientRockGolem_Weakening_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff { public: int32_t armor_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlackDrake_MagicAmplification_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff { public: int32_t spell_amp; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AlphaWolf_CommandAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff { public: int32_t bonus_damage_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_FrostbittenGolem_TimeWarpAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff { public: int32_t bonus_cdr; // 0x11e8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_IceShaman_IncendiaryBomb : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff { public: int32_t burn_damage; // 0x11e8 int32_t building_damage_pct; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tornado_Tempest : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff { public: int32_t near_radius; // 0x11e8 int32_t near_damage; // 0x11ec int32_t far_radius; // 0x11f0 int32_t far_damage; // 0x11f4 float tick_rate; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 int32_t attackspeed_slow; // 0x11ec }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_EnragedWildkin_Tornado : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTornado; // 0x5a0 CHandle< C_BaseEntity > m_hNeutralTarget; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5a8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tornado_ExpirationTime : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_EnragedWildkin_Hurricane : public C_DOTABaseAbility { public: float distance; // 0x5a0 Vector m_vEndpoint; // 0x5a4 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff { public: ParticleIndex_t m_FX; // 0x11e8 int32_t distance; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_BerserkerTroll_Break : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Kobold_Disarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff { public: float duration; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_EnragedWildkin_ToughnessAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_GraniteGolem_HPAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff { public: float bonus_hp; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_GraniteGolem_Bash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Spawnlord_Master_Bash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_SatyrTrickster_Purge : public C_DOTABaseAbility { public: GameTime_t m_flTargetTime; // 0x5a0 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff { public: int32_t purge_rate; // 0x11e8 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_SatyrSoulstealer_ManaBurn : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > hNeutralTarget; // 0x5a0 GameTime_t m_flTimeBuffer; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SatyrHellcaller_Shockwave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SatyrHellcaller_UnholyAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff { public: float health_regen; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Spawnlord_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff { public: int32_t lifesteal; // 0x11e8 int32_t hp_regen; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ForestTrollHighPriest_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff { public: int32_t health; // 0x11e8 CHandle< C_BaseEntity > m_hHealTarget; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ForestTrollHighPriest_ManaAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff { public: float mana_regen; // 0x11e8 int32_t allow_multiple; // 0x11ec int32_t m_nAttributes; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_ForestTrollHighPriest_HealAmp_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff { public: float heal_amp; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Furbolg_Enrage_AttackSpeed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff { public: int32_t bonus_aspd; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Furbolg_Enrage_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff { public: float duration; // 0x11e8 int32_t radius; // 0x11ec }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_FelBeast_Haunt : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff { public: int32_t projectile_speed; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff { public: int32_t damage_per_second; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff { public: int32_t bonus_dmg_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_KoboldTunneler_Prospecting : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff { public: int32_t gpm_aura; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_HillTroll_Rally : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff { public: int32_t damage_bonus; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_HillTroll_Rally_Stack : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_HarpyScout_TakeOff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff { public: int32_t move_speed_penalty; // 0x11e8 float cost_per_second; // 0x11ec }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_OgreBruiser_OgreSmash : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 float hero_stun_duration; // 0x5a4 int32_t damage; // 0x5a8 float damage_pct; // 0x5ac GameTime_t flCooldown; // 0x5b0 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_OgreSmash_Swing : public CDOTA_Buff { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_GiantWolf_Intimidate : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff { public: int32_t damage_reduction; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_HarpyStorm_ChainLightning : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff { public: int32_t jump_range; // 0x11e8 int32_t max_targets; // 0x11ec float damage_percent_loss; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlackDragon_Fireball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff { public: float burn_interval; // 0x11e8 int32_t radius; // 0x11ec int32_t damage; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlackDragon_SplashAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff { public: int32_t range; // 0x11e8 float damage_percent; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_BlackDragon_DragonhideAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_MudGolem_CloakAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff { public: int32_t bonus_magical_armor; // 0x11e8 int32_t bonus_magical_armor_creeps; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlueDragonspawnSorcerer_Evasion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff { public: int32_t evasion_chance_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlueDragonspawnOverseer_Evasion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff { public: int32_t evasion_chance_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BlueDragonspawnOverseer_DevotionAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff { public: int32_t bonus_armor; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_BigThunderLizard_Wardrums : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 int32_t accuracy; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BigThunderLizard_Slam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff { public: int32_t movespeed_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BigThunderLizard_Frenzy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff { public: int32_t attackspeed_bonus; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff { public: int32_t cast_animation; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Black_Nightmare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff { public: float animation_rate; // 0x11e8 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Black_BrainSap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Blue_ColdFeet : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x1208 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff { public: Vector m_vecStartPosition; // 0x11e8 int32_t m_nCurrentTick; // 0x11f4 float damage; // 0x11f8 int32_t break_distance; // 0x11fc float stun_duration; // 0x1200 }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet_Freeze : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Greevil_Miniboss_Blue_IceVortex : public C_DOTABaseAbility { public: int32_t vision_aoe; // 0x5a0 }; // Alignment: 5 // Size: 0x1210 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t movement_speed_pct; // 0x11ec int32_t spell_resist_pct; // 0x11f0 ParticleIndex_t m_nFXIndex; // 0x11f4 CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11f8 }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff { public: int32_t movement_speed_pct; // 0x11e8 int32_t spell_resist_pct; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Red_Earthshock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Red_Overpower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff { public: int32_t attack_speed_bonus_pct; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Yellow_IonShell : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t damage_per_second; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Yellow_Surge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Greevil_Miniboss_Yellow_Surge : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_White_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_White_Degen_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff { public: int32_t speed_bonus; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Green_LivingArmor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff { public: int32_t health_regen; // 0x11e8 int32_t damage_block; // 0x11ec }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Green_Overgrowth : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Greevil_Miniboss_Green_Overgrowth : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Orange_DragonSlave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Orange_LightStrikeArray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff { public: int32_t m_iDamage; // 0x11e8 float m_flStunDuration; // 0x11ec int32_t light_strike_array_aoe; // 0x11f0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Greevil_Miniboss_Purple_VenomousGale : public C_DOTABaseAbility { public: float duration; // 0x5a0 }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff { public: int32_t movement_slow; // 0x11e8 int32_t tick_damage; // 0x11ec float tick_interval; // 0x11f0 float duration; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Purple_PlagueWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Greevil_Miniboss_Sight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff { public: int32_t radius; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Neutral_Upgrade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x1210 class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff { public: float increase_time; // 0x11e8 int32_t increase_damage; // 0x11ec int32_t increase_health; // 0x11f0 float increase_armor; // 0x11f4 int32_t increase_aspd; // 0x11f8 int32_t increase_gold; // 0x11fc int32_t increase_xp; // 0x1200 int32_t current_level; // 0x1204 int32_t max_level; // 0x1208 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Creep_Siege : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x11f8 class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff { public: int32_t bonus_building_damage; // 0x11e8 int32_t incoming_hero_damage_penalty; // 0x11ec int32_t incoming_basic_damage_penalty; // 0x11f0 int32_t incoming_controlled_unit_penalty; // 0x11f4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Creep_Piercing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x11f8 class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff { public: int32_t creep_damage_bonus; // 0x11e8 int32_t hero_damage_penalty; // 0x11ec int32_t heavy_damage_penalty; // 0x11f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Creep_Irresolute : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff { public: int32_t hero_damage_penalty; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_FlagBearer_Creep_Aura_Effect : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x1200 class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff { public: int32_t radius; // 0x11e8 int32_t hero_damage_penalty; // 0x11ec int32_t bonus_gold; // 0x11f0 int32_t m_iGoldBounty; // 0x11f4 ParticleIndex_t iBannerEffect; // 0x11f8 ParticleIndex_t iRingEffect; // 0x11fc }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff { public: int32_t bonus_health_regen; // 0x11e8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Filler_Tooltip : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Filler_Tooltip : public CDOTA_Buff { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Scout_Bonuses : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BackdoorProtection : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BackdoorProtectionInBase : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_FillerAbility : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x11e8 class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned { public: // No members available }; // Alignment: 1 // Size: 0x11f0 class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep { public: CHandle< C_BaseEntity > m_hOldHero; // 0x11e8 }; // Alignment: 1 // Size: 0x1220 class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback { public: int32_t gold_amount; // 0x1218 }; // Alignment: 20 // Size: 0x638 class C_DOTA_Ability_DataDriven : public C_DOTABaseAbility { public: bool m_bProcsMagicStick; // 0x5a0 bool m_bIsSharedWithTeammates; // 0x5a1 bool m_bCastFilterRejectCaster; // 0x5a2 private: [[maybe_unused]] uint8_t __pad05a3[0x1]; // 0x5a3 public: float m_fAOERadius; // 0x5a4 int32_t m_CastAnimation; // 0x5a8 private: [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac public: CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x5b0 KeyValues* m_pOnChannelFinishKV; // 0x5c8 KeyValues* m_pOnChannelSucceededKV; // 0x5d0 KeyValues* m_pOnChannelInterruptedKV; // 0x5d8 KeyValues* m_pOnOwnerSpawnedKV; // 0x5e0 KeyValues* m_pOnOwnerDiedKV; // 0x5e8 KeyValues* m_pOnUpgradeKV; // 0x5f0 KeyValues* m_pOnProjectileHitUnitKV; // 0x5f8 KeyValues* m_pOnProjectileFinishKV; // 0x600 KeyValues* m_pOnSpellStartKV; // 0x608 KeyValues* m_pOnAbilityPhaseStartKV; // 0x610 KeyValues* m_pOnAbilityPhaseInterruptedKV; // 0x618 KeyValues* m_pOnToggleOnKV; // 0x620 KeyValues* m_pOnToggleOffKV; // 0x628 KeyValues* m_pOnCreatedKV; // 0x630 }; // Alignment: 21 // Size: 0x6c8 class C_DOTA_Item_DataDriven : public C_DOTA_Item { public: bool m_bProcsMagicStick; // 0x630 bool m_bIsSharedWithTeammates; // 0x631 bool m_bCastFilterRejectCaster; // 0x632 private: [[maybe_unused]] uint8_t __pad0633[0x1]; // 0x633 public: float m_fAnimationPlaybackRate; // 0x634 float m_fAOERadius; // 0x638 int32_t m_CastAnimation; // 0x63c CUtlVector< KeyValues* > m_ModifierKVDescriptions; // 0x640 KeyValues* m_pOnChannelFinishKV; // 0x658 KeyValues* m_pOnChannelSucceededKV; // 0x660 KeyValues* m_pOnChannelInterruptedKV; // 0x668 KeyValues* m_pOnOwnerSpawnedKV; // 0x670 KeyValues* m_pOnOwnerDiedKV; // 0x678 KeyValues* m_pOnProjectileHitUnitKV; // 0x680 KeyValues* m_pOnProjectileFinishKV; // 0x688 KeyValues* m_pOnSpellStartKV; // 0x690 KeyValues* m_pOnAbilityPhaseStartKV; // 0x698 KeyValues* m_pOnToggleOnKV; // 0x6a0 KeyValues* m_pOnToggleOffKV; // 0x6a8 KeyValues* m_pOnEquipKV; // 0x6b0 KeyValues* m_pOnUnequipKV; // 0x6b8 KeyValues* m_pOnCreatedKV; // 0x6c0 }; // Alignment: 0 // Size: 0x5e8 class C_DOTA_Ability_Lua : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x678 class C_DOTA_Item_Lua : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Interval_Upgrade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Mana_Restore : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_Crit_Chance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Disruptor_Thunder_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Cast_AoE : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Hit_On_Arrival : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_Glimpse_Travel_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Disruptor_Glimpse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Instant_Setup : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_DoubleRing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_KineticField_Allied_AttackBuff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Disruptor_KineticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Kinetic_Field_On_Cast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Crits_On_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Disruptor_StaticStorm_Damage_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Disruptor_StaticStorm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Magnataur_Horn_Toss : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Magnataur_Shockwave : public C_DOTABaseAbility { public: CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Multishot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Damage_Increase : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Shockwave_Boomerang : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Magnataur_ReversePolarity : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 Vector m_vPullLocation; // 0x5a4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Magnataur_Empower : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_All_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Empower_ShockwaveOnAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Magnataur_Skewer : public C_DOTABaseAbility { public: int32_t skewer_radius; // 0x5a0 int32_t skewer_speed; // 0x5a4 int32_t range; // 0x5a8 int32_t tree_radius; // 0x5ac Vector m_vSkewerDirection; // 0x5b0 int32_t m_nTargetsHit; // 0x5bc }; // Alignment: 7 // Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Magnataur_FriendlySkewer : public C_DOTABaseAbility { public: int32_t skewer_radius; // 0x5a0 int32_t skewer_speed; // 0x5a4 int32_t max_targets; // 0x5a8 int32_t range; // 0x5ac int32_t tree_radius; // 0x5b0 int32_t affects_creeps; // 0x5b4 int32_t m_nTargetsHit; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_OriginalScepter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_BonusStrength : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_Shockwave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Skewer_HornToss : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Radius : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Allies_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Steroid : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Special_Magnataur_ReversePolarity_Polarity : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 Vector m_vPullLocation; // 0x5a4 C_DOTABaseAbility* pAbilityPrimaryPolarity; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_No_Secondary_Dagger_Restriction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_Stifling_Dagger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Buff_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Mastery : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_PhantomStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Regen_When_Active : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Dagger_On_End : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_PhantomAssassin_Blur_Immediate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_Blur : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PhantomAssassin_CoupdeGrace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_MarksTarget : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_Execute : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_KillsRefresh : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_NoMana : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splash_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Arctic_Burn : public C_DOTABaseAbility { public: CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Main_Target_Hit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Splinter_Blast : public C_DOTABaseAbility { private: [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: int32_t splinter_damage; // 0x5a8 CHandle< C_BaseEntity > m_hMainTarget; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Blast_On_End : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Cold_Embrace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Transfer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Damage_Amp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Winter_Wyvern_Winters_Curse_Heal_On_Death : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Winter_Wyvern_Winters_Curse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5e8 class CDOTA_Ability_Aghsfort_Snapfire_MortimerKisses : public C_DOTABaseAbility { public: int32_t m_nDamagePerProjectile; // 0x5a0 int32_t damage_per_impact; // 0x5a4 int32_t impact_radius; // 0x5a8 int32_t projectile_vision; // 0x5ac int32_t m_nFragmentationImpactRadius; // 0x5b0 int32_t firetrail_radius; // 0x5b4 int32_t firetrail_damage; // 0x5b8 int32_t firetrail_tick_interval; // 0x5bc CUtlVector< Vector > m_vFirePoolLocations; // 0x5c0 float m_fNextDamageTick; // 0x5d8 Vector m_vLastFirePoolLoc; // 0x5dc }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_Aghsfort_Snapfire_Scatterblast : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 float debuff_duration; // 0x5a4 int32_t point_blank_range; // 0x5a8 float point_blank_dmg_bonus_pct; // 0x5ac int32_t blast_width_end; // 0x5b0 }; // Alignment: 4 // Size: 0x5b8 class CDOTA_Ability_Aghsfort_Snapfire_FiresnapCookie : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 public: int32_t projectile_speed; // 0x5ac float pre_hop_duration; // 0x5b0 float cast_on_ally_gesture_time; // 0x5b4 }; // Alignment: 2 // Size: 0x5c0 class CDOTA_Ability_Aghsfort_Snapfire_LilShredder : public C_DOTABaseAbility { public: int32_t m_iAttackIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< sLilShredderBounceInfo > m_BounceInfo; // 0x5a8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Snapfire_GobbleUp : public C_DOTABaseAbility { public: float max_time_in_belly; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Snapfire_SpitCreep : public C_DOTABaseAbility { public: int32_t m_nDamagePerProjectile; // 0x5a0 CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Double_Barrel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_FullRange_PointBlank : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_Scatterblast_Barrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_MultiCookie : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_EnemyTarget : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_FiresnapCookie_Allied_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Explosives : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_AllyCast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_LilShredder_Bouncing_Bullets : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fragmentation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Fire_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 15 // Size: 0x610 class C_DOTA_Ability_Aghsfort_Tusk_Snowball_Dummy : public C_DOTABaseAbility { public: int32_t snowball_radius; // 0x5a0 int32_t snowball_grow_rate; // 0x5a4 int32_t snowball_damage; // 0x5a8 int32_t snowball_damage_bonus; // 0x5ac float stun_duration; // 0x5b0 int32_t bonus_damage; // 0x5b4 float bonus_stun; // 0x5b8 int32_t snowball_speed; // 0x5bc float snowball_duration; // 0x5c0 bool m_bIsExpired; // 0x5c4 private: [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: Vector m_vProjectileLocation; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: CountdownTimer ctSnowball; // 0x5d8 CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5f0 ParticleIndex_t m_nFXIndex; // 0x608 CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x60c }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Tusk_IceShards_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5e0 class C_DOTA_Ability_Aghsfort_Tusk_IceShards : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 int32_t shard_width; // 0x5a4 int32_t shard_damage; // 0x5a8 int32_t shard_count; // 0x5ac float shard_speed; // 0x5b0 float shard_duration; // 0x5b4 float shard_angle_step; // 0x5b8 int32_t shard_distance; // 0x5bc int32_t secondary_damage_pct; // 0x5c0 Vector m_vSpawnOrigin; // 0x5c4 Vector m_vDirection; // 0x5d0 }; // Alignment: 20 // Size: 0x620 class C_DOTA_Ability_Aghsfort_Tusk_Snowball : public C_DOTABaseAbility { public: int32_t snowball_windup_radius; // 0x5a0 int32_t snowball_radius; // 0x5a4 int32_t snowball_grow_rate; // 0x5a8 int32_t snowball_damage; // 0x5ac int32_t snowball_damage_bonus; // 0x5b0 float stun_duration; // 0x5b4 int32_t bonus_damage; // 0x5b8 float bonus_stun; // 0x5bc int32_t snowball_speed; // 0x5c0 float snowball_duration; // 0x5c4 Vector m_vProjectileLocation; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 ParticleIndex_t m_nFXIndex; // 0x5f0 private: [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 public: CountdownTimer ctSnowball; // 0x5f8 bool m_bSpeakAlly; // 0x610 bool m_bIsExpired; // 0x611 bool m_bInWindup; // 0x612 private: [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 public: CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 int32_t m_nContainedValidUnits; // 0x618 bool m_bEndingSnowball; // 0x61c }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Tusk_Launch_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Tusk_WalrusPunch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Tusk_Tag_Team : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Circle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Explode : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_IceShards_Secondary : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_End_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Snowball_Global : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Toggle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_DeathCooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_TagTeam_Global : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Reset : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Land_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Tusk_Walrus_Punch_Wallop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ursa_Overpower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Ursa_Fury_Swipes : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ursa_Earthshock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Ursa_Enrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Invis : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_ApplyFurySwipes : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_OverpowerStack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Earthshock_MissChance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Evasion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Taunt : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Overpower_Cleave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_ArmorReduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_FurySwipes_UrsaMinor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Magic_Immunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Fear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Armor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_AttackSpeed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Ursa_Enrage_Earthshock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Mars_Spear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Mars_ArenaOfBlood : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Mars_GodsRebuke : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Mars_Bulwark : public C_DOTABaseAbility { public: float active_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Mars_Bulwark_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_MultiSkewer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_ImpaleExplosion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Spear_BurningTrail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_FullCircle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_GodsRebuke_Strength_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Counter_Rebuke : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Healing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Return : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Spears : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Bulwark_Soldiers : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Fear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Global : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Attack_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Mars_Arena_Of_Blood_Outside_Perimeter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Weaver_TheSwarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Weaver_Shukuchi : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t radius; // 0x5a4 int32_t damage; // 0x5a8 float fade_time; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Weaver_GeminateAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Weaver_TimeLapse : public C_DOTABaseAbility { public: int32_t m_nNPCSpawnedID; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Explosion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Swarm_Damage_Transfer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Splitshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Applies_Swarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Geminate_Attack_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Pull : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Attack_On_Completion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Swarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Shukuchi_Greater_Invisibility : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Restoration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Weaver_Time_Lapse_Explosion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackExplode : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonAttackSpread : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_PoisonSnap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Viper_PoisonAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinCharges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Viper_NethertoxinLifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Viper_Nethertoxin_Persist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Viper_Nethertoxin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinFlying : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkinSpeedSteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_CorrosiveSkin_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Viper_CorrosiveSkin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_ViperStrikeAllies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_ChainViperStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_ChanneledViperStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Viper_PeriodicViperStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Aghsfort_Viper_Aghsfort_ViperStrike : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 int32_t m_nTargetTeam; // 0x5a4 float m_flNextViperStrikeTime; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Passive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AetherRemnant : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXPreview; // 0x5a0 int32_t start_radius; // 0x5a4 int32_t end_radius; // 0x5a8 int32_t remnant_watch_distance; // 0x5ac int32_t projectile_speed; // 0x5b0 }; // Alignment: 10 // Size: 0x5e0 class CDOTA_Ability_AghsFort_VoidSpiritBoss_AstralStep : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXPreview; // 0x5a0 ParticleIndex_t m_nFXDestinationPreview; // 0x5a4 Vector m_vStartPos; // 0x5a8 Vector m_vDestination; // 0x5b4 Vector m_vDirection; // 0x5c0 int32_t radius; // 0x5cc int32_t min_travel_distance; // 0x5d0 int32_t max_travel_distance; // 0x5d4 float debuff_duration; // 0x5d8 float pop_damage_delay; // 0x5dc }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_Dissimilate : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXPreview; // 0x5a0 float phase_duration; // 0x5a4 }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_AghsFort_VoidSpiritBoss_ResonantPulse : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXPreview; // 0x5a0 bool m_bGrantedScepterCharges; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: float buff_duration; // 0x5a8 int32_t base_absorb_amount; // 0x5ac int32_t absorb_per_hero_hit; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Sniper_Shrapnel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Sniper_Headshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_AghsFort_Ability_Sniper_TakeAim : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5c0 class CDOTA_Ability_AghsFort_Sniper_Assassinate : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 ParticleIndex_t m_iIndex; // 0x5a4 bool m_bHasBuckshotAbility; // 0x5a8 bool m_bInBuckshot; // 0x5a9 private: [[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa public: int32_t m_nScatterRange; // 0x5ac int32_t m_nScatterWidth; // 0x5b0 int32_t m_nBuckshotDamagePct; // 0x5b4 int32_t m_nDamageType; // 0x5b8 int32_t damage; // 0x5bc }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_Bombs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_AttackSpeed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MissChance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Shrapnel_MoveSpeed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Crits : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Stuns : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_SelfPurge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_Shrapnel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_AOE : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_HopBackwards : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_ArmorReduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_TakeAim_RapidFire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Buckshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_OriginalScepter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_Killshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Assassinate_ConcussiveDummy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Shotgun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Sniper_Concussive_Grenade : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_Assassinate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Sniper_Headshot_ArmorReduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_EarthSpiritBoss_StoneCaller : public C_DOTABaseAbility { public: // No members available }; // Alignment: 12 // Size: 0x5e8 class CDOTA_Ability_AghsFort_EarthSpiritBoss_BoulderSmash : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t rock_damage; // 0x5a4 int32_t radius; // 0x5a8 int32_t rock_search_aoe; // 0x5ac float unit_distance; // 0x5b0 float rock_distance; // 0x5b4 int32_t m_nProjectileID; // 0x5b8 CHandle< C_BaseEntity > m_hCursorTarget; // 0x5bc bool m_bUsedStone; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: CHandle< C_BaseEntity > m_hTarget; // 0x5c4 bool m_bTargetStone; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05c9[0x7]; // 0x5c9 public: CUtlVector< CHandle< C_BaseEntity > > m_vecBoulderSmashedEnts; // 0x5d0 }; // Alignment: 15 // Size: 0x600 class CDOTA_Ability_AghsFort_EarthSpiritBoss_RollingBoulder : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t speed; // 0x5a4 int32_t rock_speed; // 0x5a8 int32_t damage; // 0x5ac float distance; // 0x5b0 float rock_distance; // 0x5b4 float slow_duration; // 0x5b8 ParticleIndex_t m_nFXIndex; // 0x5bc bool m_boulderSetposBool; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: int32_t m_nProjectileID; // 0x5c4 Vector m_vStartingLocation; // 0x5c8 Vector m_vProjectileLocation; // 0x5d4 Vector m_vDir; // 0x5e0 Vector m_vVel; // 0x5ec bool m_bUsedStone; // 0x5f8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_EarthSpiritBoss_GeomagneticGrip : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_AghsFort_EarthSpiritBoss_Magnetize : public C_DOTABaseAbility { public: int32_t cast_radius; // 0x5a0 int32_t rock_explosion_radius; // 0x5a4 float damage_duration; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_EarthSpiritBoss_Petrify : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cast_Radius : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Purification_Multicast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Omniknight_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Omniknight_Repel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Omniknight_GuardianAngel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Procs_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Outgoing_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Applies_Degen_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Damage_Instance_Refraction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Repel_Knockback_On_Cast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Toggle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Degen_Aura_Restoration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Immune_Flight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Aghsfort_WitchDoctor_ParalyzingCask : public C_DOTABaseAbility { public: int32_t bounces; // 0x5a0 int32_t bounce_bonus_damage; // 0x5a4 int32_t damage; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_WitchDoctor_VoodooRestoration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_WitchDoctor_Maledict : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5d8 class C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard : public C_DOTABaseAbility { public: int32_t m_iDamage; // 0x5a0 int32_t m_iBounceRadius; // 0x5a4 int32_t m_iProjectileSpeed; // 0x5a8 int32_t m_iBounces; // 0x5ac CHandle< C_BaseEntity > m_hWard; // 0x5b0 GameTime_t m_fWardExpireTime; // 0x5b4 ParticleIndex_t m_nFXIndex; // 0x5b8 int32_t m_iAttackIndex; // 0x5bc CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Multicask : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Applies_Maledict : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_AoE_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Ground_Curse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_AoE_Procs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Death_Restoration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Affects_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Maledict_Infectious : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Enemy_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Damage_Amp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Voodoo_Restoration_Mana_Restore : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_No_Channel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Splitshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Damage_Resist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_WitchDoctor_Death_Ward_Bounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5d8 class C_DOTA_Ability_Aghsfort_WitchDoctor_DeathWard_No_Channel : public C_DOTABaseAbility { public: int32_t m_iDamage; // 0x5a0 int32_t m_iBounceRadius; // 0x5a4 int32_t m_iProjectileSpeed; // 0x5a8 int32_t m_iBounces; // 0x5ac CHandle< C_BaseEntity > m_hWard; // 0x5b0 float m_fWardExpireTime; // 0x5b4 ParticleIndex_t m_nFXIndex; // 0x5b8 int32_t m_iAttackIndex; // 0x5bc CUtlVector< sAghsfortWardBounceInfo > m_BounceInfo; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_PsionicTrap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_TemplarAssassin_Refraction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_TemplarAssassin_Meld : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_PsiBlades : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_TemplarAssassin_Refraction_Holdout : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_KillRefresh : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Counter_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Refraction_Detonate_Trap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Area_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Attack_On_Activation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Teleport : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Meld_Refraction_On_Kill : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Trap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_Splash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_Damage_Heals : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_Psionic_Trap_MultiPulse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Slark_DarkPact : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Slark_Pounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Slark_EssenceShift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Slark_ShadowDance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Essence_Shift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Push_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Dispells_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Dark_Pact_Unit_Target : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Attack_All : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Pounce_Projectiles : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_AoE_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Leash_Chance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Essence_Shift_Allied_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Essence_Shift_Bonus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Dark_Pact_Pulses : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Slark_Shadow_Dance_Leash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_QueenOfPain_ScreamOfPain : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_AghsFort_QueenOfPain_ShadowStrike : public C_DOTABaseAbility { public: Vector projectile_speed; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_QueenOfPain_Blink : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5d8 class C_DOTA_Ability_AghsFort_QueenOfPain_SonicWave : public C_DOTABaseAbility { public: GameTime_t m_fStartTime; // 0x5a0 float m_fTotalTime; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5a8 int32_t m_nSonicTrailRadius; // 0x5ac Vector m_vLastTrailThinkerLocation; // 0x5b0 bool bTrailStartedBurning; // 0x5bc private: [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd public: int32_t damage; // 0x5c0 int32_t starting_aoe; // 0x5c4 int32_t final_aoe; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_On_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Generates_Scream : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Attack_Speed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Chain : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ShadowStrike_Scream : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Resets_Blink : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Restores_Caster : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_ScreamOfPain_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Circle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Sonic_Wave_Attack_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_QueenOfPain_Blink_Shadow_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_TuskBoss_IceShards_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 10 // Size: 0x5d8 class C_DOTA_Ability_Aghsfort_TuskBoss_IceShards : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 int32_t shard_width; // 0x5a4 int32_t shard_damage; // 0x5a8 int32_t shard_count; // 0x5ac float shard_speed; // 0x5b0 float shard_duration; // 0x5b4 float shard_angle_step; // 0x5b8 int32_t shard_distance; // 0x5bc Vector m_vSpawnOrigin; // 0x5c0 Vector m_vDirection; // 0x5cc }; // Alignment: 20 // Size: 0x620 class C_DOTA_Ability_Aghsfort_TuskBoss_Snowball : public C_DOTABaseAbility { public: int32_t snowball_windup_radius; // 0x5a0 int32_t snowball_radius; // 0x5a4 int32_t snowball_grow_rate; // 0x5a8 int32_t snowball_damage; // 0x5ac int32_t snowball_damage_bonus; // 0x5b0 float stun_duration; // 0x5b4 int32_t bonus_damage; // 0x5b8 float bonus_stun; // 0x5bc int32_t snowball_speed; // 0x5c0 float snowball_duration; // 0x5c4 Vector m_vProjectileLocation; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 ParticleIndex_t m_nFXIndex; // 0x5f0 private: [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 public: CountdownTimer ctSnowball; // 0x5f8 bool m_bSpeakAlly; // 0x610 bool m_bIsExpired; // 0x611 bool m_bInWindup; // 0x612 private: [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 public: CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 int32_t m_nContainedValidUnits; // 0x618 bool m_bEndingSnowball; // 0x61c }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_aghsfort_tusk_boss_Launch_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_TuskBoss_WalrusPunch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_TuskBoss_Tag_Team : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Circle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Explode : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_IceShards_Secondary : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_End_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Snowball_Global : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Toggle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_TagTeam_Global : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Reset : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Land_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_TuskBoss_Walrus_Punch_Wallop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_AghsFort_Ability_Undying_Tombstone : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5a0 CHandle< C_BaseEntity > hTombstone; // 0x5b8 float duration; // 0x5bc }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_AghsFort_Ability_Undying_Decay : public C_DOTABaseAbility { public: int32_t decay_damage; // 0x5a0 int32_t radius; // 0x5a4 float decay_duration; // 0x5a8 float str_steal; // 0x5ac float str_steal_captain_mult; // 0x5b0 float str_steal_boss_mult; // 0x5b4 }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_AghsFort_Ability_Undying_SoulRip : public C_DOTABaseAbility { public: int32_t damage_per_unit; // 0x5a0 int32_t radius; // 0x5a4 int32_t max_units; // 0x5a8 int32_t tombstone_heal; // 0x5ac int32_t damage_bonus_percent; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_AghsFort_Ability_Undying_Tombstone_Zombie_DeathStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_AghsFort_Ability_Undying_FleshGolem : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_TombstoneOnDeath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Spawn_Zombies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_On_Attack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Undying_Decay_Reverberation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Aghsfort_Ability_Special_Bonus_Unique_Undying_SoulRip_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Spawn_Zombies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Share_Strength : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_SoulRip_Ward : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Exploding_Zombies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_Tombstone_Bunker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_SpawnZombies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_HealOnEnemyDeath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_FleshGolem_Smash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Lina_LightStrikeArray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Lina_DragonSlave : public C_DOTABaseAbility { public: int32_t dragon_slave_distance; // 0x5a0 Vector m_vLastTrailThinkerLocation; // 0x5a4 int32_t dragon_slave_damage; // 0x5b0 float m_flLSADistance; // 0x5b4 int32_t m_nLSAPower; // 0x5b8 float m_flLSADelay; // 0x5bc }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Lina_FierySoul : public C_DOTABaseAbility { public: float active_duration; // 0x5a0 }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_Aghsfort_Lina_LagunaBlade : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a0 int32_t m_nMaxBounces; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_LSA_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Triwave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_DragonSlave_Ignite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Pulsate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Attacks : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_LightStrikeArray_Vacuum : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Multishot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_DragonSlave_On_Cast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Mini_Lagunas : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_LSA_Attacks : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_FierySoul_Ally_Cast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_LSA : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Channel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_Laguna_Blade_Line : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lina_Dragon_Slave_Booster : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_AghsFort_Ability_Juggernaut_BladeFury : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Juggernaut_HealingWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Juggernaut_ZenWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Juggernaut_BladeDance : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hBladeFuryThinker; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Juggernaut_Omnislash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Sparks : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Force : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Shared : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Fury_Lifesteal_Hit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Blade_Fury : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Healing_Ward_Detonate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Cooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Launches_Blade_Fury : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Shared : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Blade_Dance_Teleport : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Range : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Illusion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Crit_Extend : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Shared : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Spin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Omnislash_Ignite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Juggernaut_Zen_Ward : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort2_DrowRanger_FrostArrows : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort2_DrowRanger_WaveOfSilence : public C_DOTABaseAbility { public: int32_t wave_length; // 0x5a0 int32_t wave_width; // 0x5a4 float wave_speed; // 0x5a8 float silence_duration; // 0x5ac float knockback_distance_max; // 0x5b0 float knockback_duration; // 0x5b4 }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort2_DrowRanger_Multishot : public C_DOTABaseAbility { public: CUtlVector< CUtlVector< CHandle< C_BaseEntity > > > m_vHitTargets; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort2_DrowRanger_Marksmanship : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_WaveOfSilence_Blind : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Multishot_Range : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort2_Talent_DrowRanger_Marksmanship_Attack_Count : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Split : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_MoveDamage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_FrostArrows_Wave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Echo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Movement : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Cooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_WaveOfSilence_Frost : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Move : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_SideLine : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Refire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Multishot_Buff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_WaveOfSilence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_DrowRanger_Marksmanship_AoE : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Luna_LucentBeam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Luna_MoonGlaive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Luna_LunarBlessing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Luna_Lunar_Grace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Luna_Eclipse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Bloodmoon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Diffusion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Moonglow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonMark : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarRemnant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_AllyBounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_DoubleMoon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_MoonGlaive_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_MoonShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Moonfright : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_LunarPower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_Eclipse_Moonstruck : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarCycle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFavor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_Eclipse_LunarFocus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LucentBeam_Glaives : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_Glaives_MoonWell : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Eclispe_Hide : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Luna_LunarBlessing_Leap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class CDOTA_Ability_AghsFort_Luna_GlaiveShield : public C_DOTABaseAbility { public: CUtlVector< sGlaiveDef > m_GlaiveDefs; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Lich_FrostNova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class C_DOTA_Ability_AghsFort_Lich_Sinister_Gaze : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 Vector m_vPullLocation; // 0x5a4 float m_flIntervalRate; // 0x5b0 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Lich_Ice_Spire : public C_DOTABaseAbility { public: int32_t aura_radius; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Lich_FrostShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5c0 class C_DOTA_Ability_AghsFort_Lich_ChainFrost : public C_DOTABaseAbility { public: int32_t jump_range; // 0x5a0 int32_t jumps; // 0x5a4 float slow_duration; // 0x5a8 int32_t vision_radius; // 0x5ac int32_t projectile_speed; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Root_Disarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Applies_Frost_Shield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_Execute_Refund : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Nova_AOE_Attacks : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Magic_Resist_Debuff_And_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Heal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Frost_Giant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Frost_Shield_Dispels : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Spawns_Ice_Spire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Drains_Life : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Sinister_Gaze_Raises_Skeletons : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Split : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Shield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Lich_Chain_Frost_Applies_Frost_Nova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Aghsfort_Lich_Extra_Chain_Frost_Jumps : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Kunkka_Torrent : public C_DOTABaseAbility { public: int32_t torrent_storm_chance; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Torrent_Storm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Tidebringer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_AghsFort_Kunkka_XMarksTheSpot : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hThinkerEntities; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Return : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_AghsFort_Kunkka_GhostShip : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 float stun_duration; // 0x5a4 int32_t ghostship_width; // 0x5a8 int32_t ghostship_width_scepter; // 0x5ac Vector m_vFinalDestination; // 0x5b0 Vector m_vStartingPoint; // 0x5bc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x608 class C_DOTA_Ability_AghsFort_Kunkka_Tidal_Wave : public C_DOTABaseAbility { public: WaveData_t m_WaveData[2]; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Squall : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Grog_Blossom : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Marked : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Green_Around_the_Gills : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Angry_Recall : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Keelhaul : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Sealegs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Rumboldened : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Man_the_Helm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Davy_Jones_Locker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Dread_Pirate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_No_Quarter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Skull_and_Bones : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Kunkka_Tidebringer_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_AghsFort_VoidSpirit_AetherRemnant : public C_DOTABaseAbility { public: int32_t start_radius; // 0x5a0 int32_t end_radius; // 0x5a4 int32_t remnant_watch_distance; // 0x5a8 int32_t projectile_speed; // 0x5ac }; // Alignment: 9 // Size: 0x5e0 class CDOTA_Ability_AghsFort_VoidSpirit_AstralStep : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 Vector m_vDestination; // 0x5ac Vector m_vDirection; // 0x5b8 int32_t radius; // 0x5c4 int32_t min_travel_distance; // 0x5c8 int32_t max_travel_distance; // 0x5cc float debuff_duration; // 0x5d0 float pop_damage_delay; // 0x5d4 int32_t pop_damage; // 0x5d8 }; // Alignment: 2 // Size: 0x5c0 class CDOTA_Ability_AghsFort_VoidSpirit_Dissimilate : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_vecTranslocatingAllies; // 0x5a0 float phase_duration; // 0x5b8 }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_AghsFort_VoidSpirit_ResonantPulse : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 int32_t base_absorb_amount; // 0x5a4 int32_t absorb_per_unit_hit; // 0x5a8 float hero_absorb_multiplier; // 0x5ac float boss_absorb_multiplier; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Push : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_PhantomAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Translocate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Expanse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Remnants : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_Dissimilate_Lure : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Knockback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Cadence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression : public C_DOTABaseAbility { public: int32_t m_nBonusCharges; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Vacuum : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_VoidSpirit_AstralStep_Breach : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_RestoreTime : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AetherRemnant_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Stun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_ResonantPulse_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_AstralStep_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_VoidSpirit_Dissimilate_Invis : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Aghsfort_Gyrocopter_Call_Down : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 int32_t range_scepter; // 0x5ac }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Gyrocopter_Rocket_Barrage : public C_DOTABaseAbility { public: float duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Gyrocopter_Homing_Missile : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Gyrocopter_Flak_Cannon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_OnAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_DoubleTarget : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Flare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_RocketBarrage_Ground : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Barrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Ride : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Minimissile : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_CallDown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_First_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Side_Gunner : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_Missiles : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_Flak_Cannon_FireTrail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_AttackBuff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_MineField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Strafe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_HomingMissile_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Gyrocopter_CallDown_Precision_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Fire_Wreath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Solar_Guardian : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 bool m_bJumping; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: CUtlVector< CHandle< C_BaseEntity > > m_vecDeathThinkers; // 0x5a8 CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5c0 ParticleIndex_t m_nTPFXIndex; // 0x5c4 ParticleIndex_t m_nAoEFXIndex; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Luminosity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5e0 class CDOTA_Ability_Aghsfort_Dawnbreaker_Celestial_Hammer : public C_DOTABaseAbility { public: int32_t projectile_speed; // 0x5a0 int32_t projectile_radius; // 0x5a4 int32_t hammer_damage; // 0x5a8 int32_t hammer_aoe_radius; // 0x5ac int32_t flare_radius; // 0x5b0 bool bHasStartedBurning; // 0x5b4 private: [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: float flare_debuff_duration; // 0x5b8 int32_t return_anim_distance_threshold; // 0x5bc int32_t range; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Converge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Dawnbreaker_Land : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_StarbreakerCelestialFire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_Suncrusher : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_SunForge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_BrightFoundry : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_Haven : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_CelestialHammer_HammerTime : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_SolarBattery : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Luminosity_Lightbringer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SunSentinel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Solar_Guardian_SolarFlare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Dawnbreaker_Starbreaker_CounterOrbital : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Invis : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Confusion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_Burst : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Bane_Enfeeble : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Bane_BrainSap : public C_DOTABaseAbility { public: int32_t cast_range; // 0x5a0 int32_t brain_sap_damage; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Bane_Nightmare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Bane_NightmareEnd : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Bane_FiendsGrip : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hGripTarget; // 0x5a0 int32_t fiend_grip_damage; // 0x5a4 int32_t fiend_grip_spread_radius; // 0x5a8 float channel_time; // 0x5ac float fiend_grip_tick_interval; // 0x5b0 GameTime_t m_flLastSpreadTime; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DeathSpread : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_DamageSteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_EndFiendGrip : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_Spread : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_AutoNightmare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_NightmareMirror : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Enfeeble_Spill : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_FiendsGrip_BoostAlly : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_BrainSap_Knockback_Slow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Bane_Nightmare_SweetDreams : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Phoenix_SunRay : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Phoenix_SunRayStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Phoenix_SunRayToggleMove : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Phoenix_IcarusDive : public C_DOTABaseAbility { public: int32_t hp_cost_perc; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Phoenix_IcarusDiveStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_Phoenix_FireSpirits : public C_DOTABaseAbility { public: int32_t hp_cost_perc; // 0x5a0 int32_t spirit_count; // 0x5a4 }; // Alignment: 6 // Size: 0x5b8 class CDOTA_Ability_AghsFort_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 bool m_bUnitCarriedByArtillery; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: int32_t m_nSpiritSpeed; // 0x5a8 float m_fDuration; // 0x5ac int32_t m_nRadius; // 0x5b0 int32_t m_nSpiritCount; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Phoenix_Supernova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_Savior : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_BlastWave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_IcarusDive_SecondSun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Vitality : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_Artillery : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_FireSpirits_FlameRevenant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Aghsfort_Phoenix_Flame_Revenant_Attack : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_Luminance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_FocusPoint : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_SunRay_GammaRay : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Capture : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_Horizon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Phoenix_Supernova_ExpelCore : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_BonusDps : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Phoenix_SunRay_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Phoenix_Supernova_AttacksToKill : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_ArcWardenBoss_Flux : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_AghsFort_Ability_ArcWardenBoss_MagneticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_AghsFort_Ability_ArcWardenBoss_SparkWraith : public C_DOTABaseAbility { public: float duration; // 0x5a0 float activation_delay; // 0x5a4 float wraith_vision_duration; // 0x5a8 int32_t wraith_vision_radius; // 0x5ac int32_t spark_damage; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_AghsFort_Ability_ArcWardenBoss_TempestDouble : public C_DOTABaseAbility { public: int32_t m_nNumDoubles; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Aghsfort_Ability_ArcWardenBoss_Gleipnir : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ArcWardenBoss_SparkWraith_Missile : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_BossEarthshaker_Fissure : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_BossEarthshaker_EnchantTotem : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_CreateRock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_HeavySteps : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Pummel : public C_DOTABaseAbility { public: C_DOTA_BaseNPC* m_hTarget; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Onslaught : public C_DOTABaseAbility { public: float max_charge_time; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Inhibition : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_Vault : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5b8 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_ThrowAttack : public C_DOTABaseAbility { public: int32_t base_damage; // 0x5a0 int32_t hp_damage_pct; // 0x5a4 int32_t impact_radius; // 0x5a8 int32_t fragment_impact_distance; // 0x5ac int32_t min_range; // 0x5b0 ParticleIndex_t m_nFXPreview; // 0x5b4 }; // Alignment: 8 // Size: 0x5e8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_RoarAttack : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t projectile_count; // 0x5a4 float rotation_angle; // 0x5a8 float damage; // 0x5ac float radius; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CountdownTimer ctTimer; // 0x5b8 Vector m_vecStartRot; // 0x5d0 Vector m_vecEndRot; // 0x5dc }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_PrimalBeast_Boss_TectonicShift : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_Aghsfort_PrimalBeast_Boss_PrimalRoar : public C_DOTABaseAbility { public: int32_t path_width; // 0x5a0 float push_duration; // 0x5a4 int32_t push_distance; // 0x5a8 int32_t min_distance; // 0x5ac }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Sand_King_SandStorm : public C_DOTABaseAbility { public: int32_t m_iRadius; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Sand_King_CausticFinale : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b8 class C_DOTA_Ability_Aghsfort_Sand_King_BurrowStrike : public C_DOTABaseAbility { public: int32_t burrow_width; // 0x5a0 int32_t burrow_speed; // 0x5a4 float burrow_anim_time; // 0x5a8 Vector m_vStartLocation; // 0x5ac }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Aghsfort_Sand_King_Epicenter : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXEpicenterIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Reverse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Channel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_BurrowStrike_Transport : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Independant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Burrowstrike_Field : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_SandStorm_Vacuum : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Sandstorm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Active : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Caustic_Finale_Epicenter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Movement : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_Allies : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_Sand_King_BurrowStrike_Channel_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5e0 class CDOTA_Ability_AghsFort_Clinkz_BurningBarrage : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 int32_t m_iArrowProjectile; // 0x5ac int32_t m_nFXIndex; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x1c]; // 0x5b4 public: int32_t m_nTriSplitCount; // 0x5d0 int32_t projectile_speed; // 0x5d4 int32_t projectile_width; // 0x5d8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Clinkz_SearingArrows : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AghsFort_Clinkz_BurningArmy : public C_DOTABaseAbility { public: int32_t range; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Clinkz_SkeletonWalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_TriSplit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_SkeletonShot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningBarrage_Singe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Ignite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_SkeletalColossus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Clinkz_SkeletalColossus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SearingArrows_Melter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_BeckonUndead : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_WraithTouch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_SkeletonWalk_Strafe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_Entrenchment : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_BigSkeletons : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Special_Clinkz_BurningArmy_StunningSkeletons : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AghsFort_Talent_Clinkz_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_AghsFort_BossDarkWillow_ShadowRealm : public C_DOTABaseAbility { public: int32_t projectile_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AghsFort_BossDarkWillow_CursedCrown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AncientApparition_ColdFeet : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AncientApparition_IceVortex : public C_DOTABaseAbility { public: int32_t vision_aoe; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AncientApparition_ChillingTouch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 12 // Size: 0x610 class CDOTA_Ability_AncientApparition_IceBlast : public C_DOTABaseAbility { public: CountdownTimer m_PathTimer; // 0x5a0 Vector m_vTarget; // 0x5b8 Vector m_vStartPos; // 0x5c4 Vector m_vLastTempViewer; // 0x5d0 int32_t m_iTrackerProjectile; // 0x5dc int32_t path_radius; // 0x5e0 int32_t radius_min; // 0x5e4 int32_t radius_max; // 0x5e8 float radius_grow; // 0x5ec float frostbite_duration; // 0x5f0 int32_t target_sight_radius; // 0x5f4 CUtlVector< CHandle< C_BaseEntity > > m_hFrostbittenEntities; // 0x5f8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AncientApparition_IceBlast_Release : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_AncientApparition_IceAge : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t health_degen; // 0x5a4 float duration; // 0x5a8 int32_t damage; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_ManaBreak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_Blink : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_Blink_Fake : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_SpellShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_Counterspell : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_ManaVoid : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AntiMage_Scepter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_AntiMage_Mana_Overload : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bane_Enfeeble : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Bane_BrainSap : public C_DOTABaseAbility { public: int32_t brain_sap_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bane_Nightmare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bane_NightmareEnd : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Bane_FiendsGrip : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hGripTarget; // 0x5a0 int32_t fiend_grip_damage; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Pudge_Eject : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x5e0 class CDOTA_Ability_Pudge_MeatHook : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 // MNetworkEnable int32_t m_nConsecutiveHits; // 0x5ac bool m_bIsVectorTargeted; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: Vector m_vTurnLocation; // 0x5b4 Vector m_vDirectionAfterTurn; // 0x5c0 bool m_bHasTurned; // 0x5cc private: [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd public: float m_flDistanceAfterTurn; // 0x5d0 Vector m_vFinalPosition; // 0x5d4 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Pudge_Rot : public C_DOTABaseAbility { public: int32_t rot_damage; // 0x5a0 GameTime_t m_flLastRotTime; // 0x5a4 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Pudge_Dismember : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hVictim; // 0x5a0 int32_t shard_cast_range; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Pudge_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Juggernaut_BladeFury : public C_DOTABaseAbility { public: int32_t blade_fury_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Juggernaut_HealingWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Juggernaut_BladeDance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Juggernaut_Omnislash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Juggernaut_Swift_Slash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Holdout_BladeFury : public C_DOTA_Ability_Juggernaut_BladeFury { public: // No members available }; // Alignment: 11 // Size: 0x5f8 class C_DOTA_Ability_Holdout_Omnislash : public C_DOTABaseAbility { public: int32_t image_travel_speed; // 0x5a0 int32_t image_radius; // 0x5a4 int32_t jugg_travel_speed; // 0x5a8 int32_t juggcounter; // 0x5ac int32_t range; // 0x5b0 bool m_bFirstProjectileFinished; // 0x5b4 private: [[maybe_unused]] uint8_t __pad05b5[0x3]; // 0x5b5 public: Vector m_vCastDir; // 0x5b8 Vector m_vPos; // 0x5c4 Vector m_vJuggStartLocation; // 0x5d0 float m_flRange; // 0x5dc CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5e0 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Nevermore_Shadowraze : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 ParticleIndex_t m_nFXIndexB; // 0x5a4 }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Nevermore_Shadowraze1 : public C_DOTA_Ability_Nevermore_Shadowraze { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Nevermore_Shadowraze2 : public C_DOTA_Ability_Nevermore_Shadowraze { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Nevermore_Shadowraze3 : public C_DOTA_Ability_Nevermore_Shadowraze { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nevermore_Presence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Nevermore_Necromastery : public C_DOTABaseAbility { public: int32_t attack_range_bonus; // 0x5a0 }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_Nevermore_Requiem : public C_DOTABaseAbility { public: int32_t requiem_line_width_start; // 0x5a0 int32_t requiem_line_width_end; // 0x5a4 int32_t m_nCachedSouls; // 0x5a8 ParticleIndex_t m_nFXIndex; // 0x5ac int32_t m_nKilleater_nLines; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesReqd; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SandKing_CausticFinale : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_SandKing_BurrowStrike : public C_DOTABaseAbility { public: int32_t burrow_width; // 0x5a0 int32_t burrow_speed; // 0x5a4 int32_t burrow_speed_scepter; // 0x5a8 float burrow_anim_time; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SandKing_SandStorm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_SandKing_Epicenter : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXEpicenterIndex; // 0x5a0 ParticleIndex_t m_nFXIndex; // 0x5a4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Mirana_Starfall : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 }; // Alignment: 6 // Size: 0x620 class C_DOTA_Ability_Mirana_Arrow : public C_DOTABaseAbility { public: int32_t scepter_radius; // 0x5a0 Vector m_vStartPos; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList[2]; // 0x5b8 CUtlVector< CHandle< C_BaseEntity > > hStarfallList[2]; // 0x5e8 int32_t m_nActiveArrow; // 0x618 }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Mirana_Leap : public C_DOTABaseAbility { public: bool m_bIsVectorTargeted; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: Vector m_vEndpoint; // 0x5a4 Vector m_vLandPosition; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Mirana_MoonlightShadow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Sven_StormBolt : public C_DOTABaseAbility { public: int32_t vision_radius; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sven_GreatCleave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sven_Warcry : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sven_GodsStrength : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Sven_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SkeletonKing_HellfireBlast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SkeletonKing_VampiricAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SkeletonKing_MortalStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_SkeletonKing_Reincarnation : public C_DOTABaseAbility { public: bool m_bShouldUseResources; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Storm_Spirit_Electric_Rave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_StormSpirit_StaticRemnant : public C_DOTABaseAbility { public: Vector m_vecCastPos; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_StormSpirit_ElectricVortex : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_StormSpirit_Overload : public C_DOTABaseAbility { public: int32_t m_iAttackIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< sGlaiveInfoStorm > m_GlaiveInfo; // 0x5a8 }; // Alignment: 12 // Size: 0x5e0 class C_DOTA_Ability_StormSpirit_BallLightning : public C_DOTABaseAbility { public: bool m_bHasAutoRemnantTalent; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: float m_fAutoRemnantInterval; // 0x5a4 int32_t ball_lightning_initial_mana_base; // 0x5a8 float ball_lightning_initial_mana_percentage; // 0x5ac int32_t ball_lightning_travel_cost_base; // 0x5b0 float ball_lightning_travel_cost_percent; // 0x5b4 int32_t m_iProjectileID; // 0x5b8 Vector m_vStartLocation; // 0x5bc Vector m_vProjectileLocation; // 0x5c8 float m_fDistanceAccumulator; // 0x5d4 float m_fTalentDistanceAccumulator; // 0x5d8 int32_t scepter_remnant_interval; // 0x5dc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DrowRanger_Silence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_DrowRanger_WaveOfSilence : public C_DOTABaseAbility { public: int32_t wave_width; // 0x5a0 float wave_speed; // 0x5a4 float silence_duration; // 0x5a8 float knockback_distance_max; // 0x5ac int32_t m_nHeroesHit; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DrowRanger_Trueshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DrowRanger_Marksmanship : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_DrowRanger_FrostArrows : public C_DOTABaseAbility { public: int32_t shard_burst_damage_per_stack; // 0x5a0 float shard_burst_slow_duration; // 0x5a4 }; // Alignment: 12 // Size: 0x668 class C_DOTA_Ability_DrowRanger_Multishot : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 int32_t m_iArrowProjectile; // 0x5ac int32_t m_nFXIndex; // 0x5b0 float arrow_speed; // 0x5b4 int32_t arrow_spread; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets0; // 0x5c0 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets1; // 0x5d8 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets2; // 0x5f0 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets3; // 0x608 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets4; // 0x620 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets5; // 0x638 CUtlVector< CHandle< C_BaseEntity > > m_vHitTargets6; // 0x650 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Drow_Ranger_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x5e8 class C_DOTA_Ability_Drow_Ranger_Glacier : public C_DOTABaseAbility { public: int32_t shard_width; // 0x5a0 int32_t shard_count; // 0x5a4 float shard_duration; // 0x5a8 float shard_angle_step; // 0x5ac int32_t shard_distance; // 0x5b0 Vector m_vSpawnOrigin; // 0x5b4 Vector m_vDirection; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05cc[0x4]; // 0x5cc public: CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5d0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Earthshaker_Fissure : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Earthshaker_EnchantTotem : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Earthshaker_Aftershock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Earthshaker_EchoSlam : public C_DOTABaseAbility { public: int32_t echo_slam_damage_range; // 0x5a0 int32_t echo_slam_echo_search_range; // 0x5a4 int32_t echo_slam_echo_range; // 0x5a8 int32_t echo_slam_echo_damage; // 0x5ac int32_t echo_slam_initial_damage; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_VengefulSpirit_Magic_Missile : public C_DOTABaseAbility { public: bool m_bShouldBounce; // 0x5a0 }; // Alignment: 7 // Size: 0x5d8 class C_DOTA_Ability_VengefulSpirit_WaveOfTerror : public C_DOTABaseAbility { public: int32_t wave_width; // 0x5a0 float wave_speed; // 0x5a4 int32_t m_iProjectile; // 0x5a8 float vision_aoe; // 0x5ac float vision_duration; // 0x5b0 int32_t m_nNumHeroesHit; // 0x5b4 CountdownTimer m_ViewerTimer; // 0x5b8 }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_VengefulSpirit_Nether_Swap : public C_DOTABaseAbility { public: int32_t m_nFXIndex; // 0x5a0 int32_t damage; // 0x5a4 float damage_reduction; // 0x5a8 float damage_reduction_duration; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CrystalMaiden_Let_It_Go : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_CrystalMaiden_CrystalNova : public C_DOTABaseAbility { public: int32_t nova_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CrystalMaiden_Frostbite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CrystalMaiden_BrillianceAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CrystalMaiden_FreezingField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_CrystalMaiden_FreezingFieldStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_CrystalMaiden_IceRink : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Axe_BattleHunger : public C_DOTABaseAbility { public: int32_t damage_per_second; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Axe_BerserkersCall : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Axe_CounterHelix : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class C_DOTA_Ability_Axe_CullingBlade : public C_DOTABaseAbility { public: bool m_bInterrupted; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: Vector m_vProjectileLocation; // 0x5a4 CHandle< C_BaseEntity > m_hTarget; // 0x5b0 }; // Alignment: 0 // Size: 0x5b8 class C_DOTA_Ability_Holdout_CullingBlade : public C_DOTA_Ability_Axe_CullingBlade { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Axe_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bloodseeker_Bloodrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Bloodseeker_Bloodbath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bloodseeker_Thirst : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bloodseeker_Rupture : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bloodseeker_BloodMist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomLancer_SpiritLance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomLancer_Doppelwalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomLancer_Juxtapose : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomLancer_PhantomEdge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Lancer_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Razor_PlasmaField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5c8 class C_DOTA_Ability_Razor_StaticLink : public C_DOTABaseAbility { public: int32_t m_iLinkIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CountdownTimer m_ViewerTimer; // 0x5a8 int32_t vision_radius; // 0x5c0 float vision_duration; // 0x5c4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Razor_UnstableCurrent : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Razor_EyeOfTheStorm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Razor_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Lina_DragonSlave : public C_DOTABaseAbility { public: int32_t dragon_slave_distance; // 0x5a0 float m_flDamage; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lina_LightStrikeArray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lina_FierySoul : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Lina_LagunaBlade : public C_DOTABaseAbility { public: int32_t m_iDamage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lina_Flame_Cloak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lina_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Morphling_Hybrid : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_Waveform : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_AdaptiveStrike_Agi : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_AdaptiveStrike_Str : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_Morph : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_Morph_Agi : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Morphling_Morph_Str : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Morphling_Replicate : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Morphling_MorphReplicate : public C_DOTABaseAbility { public: float m_flOldHealthPct; // 0x5a0 float m_flOldManaPct; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_StaticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_ArcLightning : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_Cloud : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_LightningBolt : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Zuus_ThundergodsWrath : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 bool m_bZeusHasArcana; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_Heavenly_Jump : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Zeus_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Zeus_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Zuus_Thunder_Trail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Zuus_Lightning_Hands : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Kunkka_Torrent : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Kunkka_Torrent_Storm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Kunkka_Tidebringer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Kunkka_XMarksTheSpot : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Kunkka_Return : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_Kunkka_GhostShip : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 float stun_duration; // 0x5a4 int32_t ghostship_width; // 0x5a8 int32_t ghostship_width_scepter; // 0x5ac Vector m_vFinalDestination; // 0x5b0 Vector m_vStartingPoint; // 0x5bc }; // Alignment: 2 // Size: 0x5d0 class C_DOTA_Ability_Kunkka_Tidal_Wave : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 Vector m_vStart; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tiny_CraggyExterior : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Tiny_Avalanche : public C_DOTABaseAbility { public: Vector m_vTargetLoc; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tiny_Toss : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Tiny_Tree_Grab : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hStolenTree; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tiny_Tree_Channel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tiny_TossTree : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tiny_Grow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Tiny_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Puck_EtherealJaunt : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5d0 class C_DOTA_Ability_Puck_IllusoryOrb : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CountdownTimer m_ViewerTimer; // 0x5a8 int32_t orb_vision; // 0x5c0 float vision_duration; // 0x5c4 int32_t damage; // 0x5c8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Puck_WaningRift : public C_DOTABaseAbility { public: int32_t max_distance; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Puck_PhaseShift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Puck_DreamCoil : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Puck_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d8 class C_DOTA_Ability_Windrunner_Shackleshot : public C_DOTABaseAbility { public: int32_t shackle_count; // 0x5a0 Vector m_vArrowAvgPos; // 0x5a4 Vector m_vArrowStartPos; // 0x5b0 Vector m_vArrowStartPos2; // 0x5bc Vector m_vArrowStartPos3; // 0x5c8 CHandle< C_BaseEntity > m_hTarget; // 0x5d4 }; // Alignment: 10 // Size: 0x5d0 class C_DOTA_Ability_Windrunner_Powershot : public C_DOTABaseAbility { private: [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: GameTime_t m_fStartTime; // 0x5a8 float m_fPower; // 0x5ac int32_t m_iProjectile; // 0x5b0 float damage_reduction; // 0x5b4 int32_t arrow_width; // 0x5b8 int32_t powershot_damage; // 0x5bc float tree_width; // 0x5c0 bool m_bAwardedKillEater; // 0x5c4 private: [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: int32_t m_nHeroesHit; // 0x5c8 ParticleIndex_t m_nFXIndex; // 0x5cc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Windrunner_Windrun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Windrunner_FocusFire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Windrunner_FocusFire_End : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Windrunner_GaleForce : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 Vector m_vFlowPosition; // 0x5ac float duration; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lich_FrostNova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_Lich_Sinister_Gaze : public C_DOTABaseAbility { public: // MNetworkEnable float m_flLongestGazeDuration; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< CHandle< C_BaseEntity > > m_hAffectedEntities; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lich_DarkSorcery : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Lich_FrostAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lich_FrostArmor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lich_FrostShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5c0 class C_DOTA_Ability_Lich_ChainFrost : public C_DOTABaseAbility { public: int32_t jump_range; // 0x5a0 int32_t jumps; // 0x5a4 float slow_duration; // 0x5a8 int32_t vision_radius; // 0x5ac int32_t projectile_speed; // 0x5b0 int32_t initial_projectile_speed; // 0x5b4 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Lich_Ice_Spire : public C_DOTABaseAbility { public: int32_t aura_radius; // 0x5a0 float duration; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lich_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_Tidehunter_Gush : public C_DOTABaseAbility { public: int32_t gush_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tidehunter_KrakenShell : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tidehunter_AnchorSmash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Tidehunter_Ravage : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hEntsHit; // 0x5a0 bool m_bAwardedKillEater; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 public: float duration; // 0x5bc }; // Alignment: 5 // Size: 0x5d0 class C_DOTA_Ability_Tidehunter_ArmOfTheDeep : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 float duration; // 0x5b8 int32_t speed; // 0x5bc float damage; // 0x5c0 float range; // 0x5c4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ShadowShaman_EtherShock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ShadowShamanVoodoo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ShadowShaman_MassSerpentWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_ShadowShaman_Shackles : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hShackleTarget; // 0x5a0 ParticleIndex_t nShackleFXIndex; // 0x5a4 CUtlVector< CHandle< C_BaseEntity > > hWardList; // 0x5a8 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_ShadowShaman_Serpentine : public C_DOTABaseAbility { public: int32_t length; // 0x5a0 int32_t count; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_SmokeScreen : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_BlinkStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_Permanent_Invisibility : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_Backstab : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_TricksOfTheTrade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Riki_Poison_Dart : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enigma_DemonicConversion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Enigma_Malefice : public C_DOTABaseAbility { public: float tick_rate; // 0x5a0 int32_t stun_instances; // 0x5a4 float m_flDuration; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enigma_MidnightPulse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enigma_BlackHole : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Enigma_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tinker_Defensive_Matrix : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c8 class C_DOTA_Ability_Tinker_Laser : public C_DOTABaseAbility { public: Vector m_vProjectileLocation; // 0x5a0 bool bBlocked; // 0x5ac private: [[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Tinker_HeatSeekingMissile : public C_DOTABaseAbility { public: int32_t m_nTargetsKilled; // 0x5a0 }; // Alignment: 3 // Size: 0x5b0 class CDOTA_Ability_Tinker_WarpGrenade : public C_DOTABaseAbility { public: float debuff_duration; // 0x5a0 float knockback_distance; // 0x5a4 float damage; // 0x5a8 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Tinker_MarchOfTheMachines : public C_DOTABaseAbility { public: int32_t splash_radius; // 0x5a0 int32_t damage; // 0x5a4 }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_Tinker_Rearm : public C_DOTABaseAbility { public: Vector m_vProjectileLocation; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Tinker_Shrink_Ray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 7 // Size: 0x5c8 class C_DOTA_Ability_Tinker_Keen_Teleport : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a0 ParticleIndex_t m_nFXOrigin; // 0x5a4 ParticleIndex_t m_nFXDestination; // 0x5a8 Vector m_vDestination; // 0x5ac int32_t m_iMinDistance; // 0x5b8 float m_flBaseTeleportTime; // 0x5bc float m_flExtraTeleportTime; // 0x5c0 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_WitchDoctor_ParalyzingCask : public C_DOTABaseAbility { public: int32_t m_iBounces; // 0x5a0 int32_t bounces; // 0x5a4 int32_t bounce_bonus_damage; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_WitchDoctor_VoodooRestoration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_WitchDoctor_Maledict : public C_DOTABaseAbility { public: // No members available }; // Alignment: 8 // Size: 0x5d8 class C_DOTA_Ability_WitchDoctor_DeathWard : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hWard; // 0x5a0 int32_t m_iDamage; // 0x5a4 int32_t m_iBounceRadius; // 0x5a8 int32_t m_iProjectileSpeed; // 0x5ac GameTime_t m_fWardExpireTime; // 0x5b0 ParticleIndex_t m_nFXIndex; // 0x5b4 int32_t m_iAttackIndex; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: CUtlVector< sBounceInfo > m_BounceInfo; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_WitchDoctor_Voodoo_Switcheroo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Witch_Doctor_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sniper_Shrapnel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sniper_Headshot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Sniper_TakeAim : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Sniper_Assassinate : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 ParticleIndex_t m_iIndex; // 0x5a4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Sniper_Concussive_Grenade : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necrolyte_Sadist_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necrolyte_Sadist : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_Necrolyte_Death_Pulse : public C_DOTABaseAbility { private: [[maybe_unused]] uint8_t __pad05a0[0x8]; // 0x5a0 public: bool m_bIsDeathSeekerCast; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necrolyte_Heartstopper_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necrolyte_ReapersScythe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Necrolyte_Death_Seeker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slardar_Sprint : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slardar_Slithereen_Crush : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slardar_Bash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slardar_Amplify_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Slardar_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ursa_Overpower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ursa_Fury_Swipes : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ursa_Enrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ursa_Earthshock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 7 // Size: 0x5c0 class C_DOTA_Ability_Lion_Impale : public C_DOTABaseAbility { public: int32_t width; // 0x5a0 float duration; // 0x5a4 int32_t speed; // 0x5a8 float length_buffer; // 0x5ac float range; // 0x5b0 int32_t m_iDefaultCastRange; // 0x5b4 int32_t pierces_immunity; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lion_Voodoo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Lion_ManaDrain : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_Victims; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Lion_FingerOfDeath : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Lion_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_ReturnToBase : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_TakeStashItems : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_ReturnStashItems : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_GoToSecretShop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_GoToEnemySecretShop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_GoToSideShop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_GoToSideShop2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_TransferItems : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_TransferItems_ToOtherPlayer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_TakeStashAndTransferItems : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_Burst : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Courier_Morph : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_Shield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_QueuePickupFromStash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Courier_DequeuePickupFromStash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_SpellBlock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Roshan_Teleport : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndexStart; // 0x5a0 ParticleIndex_t m_nFXIndexEnd; // 0x5a4 ParticleIndex_t m_nFXIndexEndTeam; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_Bash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_Slam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_InherentBuffs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Roshan_Devotion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Miniboss_Unyielding_Shield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Miniboss_Reflect : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Animation_Attack : public C_DOTABaseAbility { public: float animation_time; // 0x5a0 }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Animation_RightClawSwipe : public C_DOTA_Ability_Animation_Attack { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Animation_LeftClawSwipe : public C_DOTA_Ability_Animation_Attack { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_Dive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NianCharge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_Frenzy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 16 // Size: 0x5f8 class C_DOTA_Ability_Nian_Roar : public C_DOTABaseAbility { public: int32_t base_projectiles; // 0x5a0 int32_t max_projectiles; // 0x5a4 int32_t projectile_step; // 0x5a8 int32_t base_speed; // 0x5ac int32_t speed_step; // 0x5b0 int32_t initial_radius; // 0x5b4 int32_t end_radius; // 0x5b8 int32_t damage; // 0x5bc float base_interval; // 0x5c0 float interval_step; // 0x5c4 int32_t m_nCastCount; // 0x5c8 int32_t m_nProjectiles; // 0x5cc int32_t m_nWaveCount; // 0x5d0 private: [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: CountdownTimer m_ctTimer; // 0x5d8 float m_flTiming; // 0x5f0 bool m_bScriptRoar; // 0x5f4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Animation_TailSpin : public C_DOTABaseAbility { public: float animation_time; // 0x5a0 }; // Alignment: 7 // Size: 0x5d8 class C_DOTA_Ability_Nian_Apocalypse : public C_DOTABaseAbility { public: int32_t area_of_effect; // 0x5a0 ParticleIndex_t m_nfxIndex_roar; // 0x5a4 float fire_interval; // 0x5a8 float delay; // 0x5ac float target_range; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CountdownTimer m_ctTimer; // 0x5b8 float m_flTiming; // 0x5d0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_GreaterBash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Nian_Tail_Swipe : public C_DOTA_Ability_Animation_Attack { public: // No members available }; // Alignment: 13 // Size: 0x5f8 class C_DOTA_Ability_Nian_Hurricane : public C_DOTABaseAbility { public: int32_t min_distance; // 0x5a0 int32_t max_distance; // 0x5a4 int32_t torrent_count; // 0x5a8 float fire_interval; // 0x5ac float pull_switch_interval; // 0x5b0 float game_time_wind_activation; // 0x5b4 CountdownTimer m_ctPullTimer; // 0x5b8 CountdownTimer m_ctTimer; // 0x5d0 float m_flTiming; // 0x5e8 bool m_bForward; // 0x5ec bool m_bUseWind; // 0x5ed private: [[maybe_unused]] uint8_t __pad05ee[0x2]; // 0x5ee public: ParticleIndex_t m_nFXIndex; // 0x5f0 ParticleIndex_t m_nfxIndex_roar; // 0x5f4 }; // Alignment: 7 // Size: 0x5d8 class C_DOTA_Ability_Nian_Whirlpool : public C_DOTABaseAbility { public: int32_t pool_count; // 0x5a0 int32_t min_distance; // 0x5a4 int32_t max_distance; // 0x5a8 int32_t pull_radius; // 0x5ac float fire_interval; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CountdownTimer m_ctTimer; // 0x5b8 float m_flTiming; // 0x5d0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_Eruption : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_Sigils : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5d0 class C_DOTA_Ability_Nian_Waterball : public C_DOTABaseAbility { public: CountdownTimer m_ctTimer; // 0x5a0 CUtlVector< CHandle< C_BaseEntity > > m_hEntities; // 0x5b8 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Nian_Flag_Trap : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Ability_Firework_Mine : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_JumpBoots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nian_Leap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Vermillion_Robe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Vermillion_Robe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Warlock_Fatal_Bonds : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Warlock_Shadow_Word : public C_DOTABaseAbility { public: // No members available }; // Alignment: 16 // Size: 0x618 class C_DOTA_Ability_Warlock_Upheaval : public C_DOTABaseAbility { public: Vector m_vPosition; // 0x5a0 float aoe; // 0x5ac int32_t slow_per_second; // 0x5b0 int32_t aspd_per_second; // 0x5b4 int32_t max_slow; // 0x5b8 int32_t damage_per_second; // 0x5bc int32_t max_damage; // 0x5c0 float damage_tick_interval; // 0x5c4 CountdownTimer m_timer; // 0x5c8 CountdownTimer m_shardTimer; // 0x5e0 float duration; // 0x5f8 GameTime_t m_flElapsedTime; // 0x5fc float m_flCurrentSlow; // 0x600 ParticleIndex_t m_nFXIndex; // 0x604 private: [[maybe_unused]] uint8_t __pad0608[0x8]; // 0x608 public: bool m_bTargetCast; // 0x610 private: [[maybe_unused]] uint8_t __pad0611[0x3]; // 0x611 public: CHandle< C_BaseEntity > m_hTarget; // 0x614 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Warlock_RainOfChaos : public C_DOTABaseAbility { public: int32_t aoe; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Warlock_Golem_Flaming_Fists : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Warlock_Golem_Permanent_Immolation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Warlock_Imp_Explode : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x7d0 class C_DOTA_Beastmaster_Axe : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Beastmaster_WildAxes : public C_DOTABaseAbility { public: int32_t axe_damage; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_CallOfTheWild_Boar : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_CallOfTheWild_Hawk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_CallOfTheWild_Boar_Poison : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_InnerBeast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5c8 class CDOTA_Ability_Beastmaster_PrimalRoar : public C_DOTABaseAbility { public: float duration; // 0x5a0 float slow_duration; // 0x5a4 int32_t side_damage; // 0x5a8 int32_t damage_radius; // 0x5ac int32_t path_width; // 0x5b0 float push_duration; // 0x5b4 int32_t push_distance; // 0x5b8 int32_t damage; // 0x5bc float movement_speed_duration; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_Mark_Of_The_Beast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_Hawk_Dive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Beastmaster_DrumsOfSlom : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Beastmaster_DrumsOfSlom_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Beastmaster_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_QueenOfPain_ScreamOfPain : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_QueenOfPain_ShadowStrike : public C_DOTABaseAbility { public: Vector projectile_speed; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_QueenOfPain_Blink : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5c0 class C_DOTA_Ability_QueenOfPain_SonicWave : public C_DOTABaseAbility { public: GameTime_t m_fStartTime; // 0x5a0 float m_fTotalTime; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5a8 int32_t starting_aoe; // 0x5ac int32_t final_aoe; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Venomancer_PoisonNova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Venomancer_PlagueWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Venomancer_VenomousGale : public C_DOTABaseAbility { public: float duration; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Venomancer_PoisonSting : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Holdout_ScourgeWard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Venomancer_NoxiousPlague : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_Venomancer_Latent_Poison : public C_DOTABaseAbility { public: Vector projectile_speed; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_FacelessVoid_Backtrack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_FacelessVoid_TimeLock : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_FacelessVoid_TimeDilation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_FacelessVoid_TimeWalk : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t range; // 0x5a4 int32_t radius; // 0x5a8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_FacelessVoid_TimeWalk_Reverse : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_FacelessVoid_Chronosphere : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_Ability_DeathProphet_CarrionSwarm : public C_DOTABaseAbility { public: int32_t start_radius; // 0x5a0 int32_t end_radius; // 0x5a4 GameTime_t m_fStartTime; // 0x5a8 float m_fTotalTime; // 0x5ac int32_t m_nProjectileHandle; // 0x5b0 ParticleIndex_t m_nFXIndex; // 0x5b4 }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_DeathProphet_Silence : public C_DOTABaseAbility { public: Vector m_vPos; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DeathProphet_Witchcraft : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class C_DOTA_Ability_DeathProphet_SpiritSiphon : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 int32_t m_iArrowProjectile; // 0x5ac int32_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 // Size: 0x7d0 class C_DOTA_DeathProphet_Exorcism_Spirit : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pugna_NetherBlast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pugna_Decrepify : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Pugna_NetherWard : public C_DOTABaseAbility { public: CUtlVector< sAbilityHistory > vecAbilitiesUsed; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Pugna_LifeDrain : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomAssassin_Stifling_Dagger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomAssassin_Fan_Of_Knives : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomAssassin_PhantomStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomAssassin_Blur : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PhantomAssassin_CoupdeGrace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Phantom_Assassin_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_Refraction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_Meld : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_PsiBlades : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_PsionicTrap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_Trap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_TemplarAssassin_Trap_Teleport : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTrap; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_SelfTrap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TemplarAssassin_Refraction_Holdout : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Viper_PoisonAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Viper_Nethertoxin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Viper_CorrosiveSkin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Viper_ViperStrike : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Viper_Nose_Dive : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Luna_LucentBeam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_Luna_MoonGlaive : public C_DOTABaseAbility { public: int32_t m_iAttackIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< sGlaiveInfo > m_GlaiveInfo; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Luna_LunarBlessing : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Luna_Lunar_Grace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Luna_Eclipse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5c0 class C_DOTA_Ability_DragonKnight_BreatheFire : public C_DOTABaseAbility { public: int32_t start_radius; // 0x5a0 int32_t end_radius; // 0x5a4 float damage; // 0x5a8 Vector m_vStartPos; // 0x5ac GameTime_t m_fStartTime; // 0x5b8 float m_fTotalTime; // 0x5bc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DragonKnight_DragonTail : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DragonKnight_DragonBlood : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DragonKnight_ElderDragonForm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DragonKnight_Fireball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Good_Juju : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Bad_Juju : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Rain_Of_Vermin : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Poison_Touch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Shallow_Grave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_Dazzle_ShadowWave : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a0 int32_t bounce_radius; // 0x5b8 int32_t damage_radius; // 0x5bc int32_t damage; // 0x5c0 int32_t max_targets; // 0x5c4 float scepter_heal_pct; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dazzle_Weave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Leshrac_Split_Earth : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Leshrac_Diabolic_Edict : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Leshrac_Lightning_Storm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Leshrac_Greater_Lightning_Storm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Leshrac_Pulse_Nova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Leshrac_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rattletrap_Overclocking : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rattletrap_BatteryAssault : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rattletrap_PowerCogs : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Rattletrap_RocketFlare : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_vecEnemyHeroesInFog; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rattletrap_JetPack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Rattletrap_Hookshot : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 Vector m_vProjectileVelocity; // 0x5a4 bool m_bRetract; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clockwerk_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Furion_Greater_Sprout : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Furion_Sprout : public C_DOTABaseAbility { public: int32_t m_iShardCount; // 0x5a0 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Furion_Teleportation : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndexStart; // 0x5a0 ParticleIndex_t m_nFXIndexEnd; // 0x5a4 ParticleIndex_t m_nFXIndexEndTeam; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Furion_ForceOfNature : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Furion_WrathOfNature : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Furion_CurseOfTheForest : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Furion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Furion_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Feast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Ghoul_Frenzy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Open_Wounds : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Life_Stealer_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Life_Stealer_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Life_Stealer_Empty3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Infest : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Consume : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Life_Stealer_Control : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Life_Stealer_Assimilate : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hLastAssimilation; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Life_Stealer_AssimilateEject : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Life_Stealer_Rage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkSeer_Normal_Punch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_DarkSeer_Vacuum : public C_DOTABaseAbility { public: Vector m_vPullLocation; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkSeer_IonShell : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkSeer_Surge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_DarkSeer_WallOfReplica : public C_DOTABaseAbility { public: int32_t width; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Dark_Seer_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Clinkz_SearingArrows : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Clinkz_DeathPact : public C_DOTABaseAbility { public: int32_t m_nDevourFirstSlot; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Clinkz_Burning_Army : public C_DOTABaseAbility { public: int32_t range; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Clinkz_WindWalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Clinkz_Strafe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b8 class C_DOTA_Ability_Clinkz_BurningBarrage : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 int32_t m_iArrowProjectile; // 0x5ac int32_t m_nFXIndex; // 0x5b0 float arrow_speed; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Clinkz_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Clinkz_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Clinkz_Tar_Bomb : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Hammer_Of_Purity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Omniknight_Angelic_Flight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Purification : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Pacify : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Repel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Degen_Aura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_Martyr : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Omniknight_GuardianAngel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Enchantress_Little_Friends : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t radius; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enchantress_Bunny_Hop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enchantress_Untouchable : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enchantress_Enchant : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enchantress_NaturesAttendants : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Enchantress_Impetus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Huskar_Inner_Fire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Huskar_Inner_Vitality : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Huskar_Burning_Spear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Huskar_Berserkers_Blood : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class C_DOTA_Ability_Huskar_Life_Break : public C_DOTABaseAbility { public: Vector m_vProjectileLocation; // 0x5a0 CHandle< C_BaseEntity > m_hTarget; // 0x5ac bool m_bInterrupted; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NightStalker_Void : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NightStalker_CripplingFear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NightStalker_HunterInTheNight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NightStalker_Darkness : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Night_Stalker_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Broodmother_SpawnSpiderlings : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Broodmother_SpawnSpiderite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Broodmother_PoisonSting : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Broodmother_SpinWeb : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hWebs; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Broodmother_SpinWeb_Destroy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Broodmother_IncapacitatingBite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Broodmother_InsatiableHunger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Broodmother_Silken_Bola : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5e8 class C_DOTA_Ability_Broodmother_StickySnare : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 float duration; // 0x5ac int32_t width; // 0x5b0 bool m_bStolenSnareCheck; // 0x5b4 private: [[maybe_unused]] uint8_t __pad05b5[0x1b]; // 0x5b5 public: CUtlVector< CHandle< C_BaseEntity > > m_vecSnares; // 0x5d0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BountyHunter_ShurikenToss : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BountyHunter_Jinada : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BountyHunter_WindWalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_BountyHunter_Track : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTrap; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_BountyHunter_Lookout : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Weaver_TheSwarm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Weaver_Shukuchi : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t radius; // 0x5a4 int32_t damage; // 0x5a8 float fade_time; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Weaver_GeminateAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Weaver_TimeLapse : public C_DOTABaseAbility { public: int32_t m_nNPCSpawnedID; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jakiro_DualBreath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jakiro_IcePath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jakiro_Liquid_Ice : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jakiro_Liquid_Fire : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Jakiro_Macropyre : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Jakiro_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Batrider_StickyNapalm_Application_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Batrider_StickyNapalm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Batrider_Flamebreak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Batrider_Firefly : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Batrider_FlamingLasso : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Batrider_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_Penitence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_TestOfFaith : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_DivineFavor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_TestOfFaithTeleport : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Chen_HolyPersuasion : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hDominatedUnits; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_HandOfGod : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Chen_Martyrdom : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chen_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spectre_Desolate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 9 // Size: 0x5f8 class C_DOTA_Ability_Spectre_SpectralDagger : public C_DOTABaseAbility { public: float dagger_path_duration; // 0x5a0 float hero_path_duration; // 0x5a4 float m_fCreateInterval; // 0x5a8 GameTime_t m_fLastCreate; // 0x5ac Vector m_vecLastPosition; // 0x5b0 bool m_bIsTrackingProjectile; // 0x5bc private: [[maybe_unused]] uint8_t __pad05bd[0x3]; // 0x5bd public: CUtlVector< CHandle< C_BaseEntity > > m_hTrackingProjectileHits; // 0x5c0 CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x5d8 CHandle< C_BaseEntity > m_hTrackingTarget; // 0x5f0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spectre_Dispersion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spectre_Haunt : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spectre_Haunt_Single : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Spectre_Reality : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_DoomBringer_Devour : public C_DOTABaseAbility { public: int32_t m_nDevourFirstSlot; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DoomBringer_ScorchedEarth : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DoomBringer_InfernalBlade : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DoomBringer_Doom : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DoomBringer_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DoomBringer_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_SpiritBreaker_ChargeOfDarkness : public C_DOTABaseAbility { public: Vector m_vChargeStartPos; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SpiritBreaker_GreaterBash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SpiritBreaker_Bulldoze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SpiritBreaker_EmpoweringHaste : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SpiritBreaker_NetherStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_SpiritBreaker_PlanarPocket : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Gyrocopter_Rocket_Barrage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Gyrocopter_Homing_Missile : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Gyrocopter_Flak_Cannon : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Gyrocopter_Call_Down : public C_DOTABaseAbility { public: Vector m_vEndpoint; // 0x5a0 int32_t range_scepter; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Alchemist_AcidSpray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Alchemist_UnstableConcoction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Alchemist_UnstableConcoctionThrow : public C_DOTABaseAbility { public: float m_fCookTime; // 0x5a0 Vector m_vProjectileLoc; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Alchemist_GoblinsGreed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Alchemist_ChemicalRage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Alchemist_Berserk_Potion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Alchemist_Corrosive_Weaponry : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Invoker_Invoke : public C_DOTABaseAbility { public: int32_t max_invoked_spells; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_AttributeBonus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class CDOTA_Ability_Invoker_InvokedBase : public C_DOTABaseAbility { public: // MNetworkEnable int32_t m_nQuasLevel; // 0x5a0 // MNetworkEnable int32_t m_nWexLevel; // 0x5a4 // MNetworkEnable int32_t m_nExortLevel; // 0x5a8 }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_ColdSnap : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_GhostWalk : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class C_DOTA_Ability_Invoker_Tornado : public CDOTA_Ability_Invoker_InvokedBase { public: int32_t vision_distance; // 0x5b0 float end_vision_duration; // 0x5b4 float lift_duration; // 0x5b8 float base_damage; // 0x5bc float quas_damage; // 0x5c0 float wex_damage; // 0x5c4 }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_EMP : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_Alacrity : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 7 // Size: 0x5d8 class C_DOTA_Ability_Invoker_ChaosMeteor : public CDOTA_Ability_Invoker_InvokedBase { public: int32_t area_of_effect; // 0x5b0 float damage_interval; // 0x5b4 int32_t vision_distance; // 0x5b8 float end_vision_duration; // 0x5bc float main_damage; // 0x5c0 float burn_duration; // 0x5c4 float burn_dps; // 0x5c8 }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_SunStrike : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_ForgeSpirit : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ForgedSpirit_MeltingStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_IceWall : public CDOTA_Ability_Invoker_InvokedBase { public: // No members available }; // Alignment: 4 // Size: 0x5c0 class C_DOTA_Ability_Invoker_DeafeningBlast : public CDOTA_Ability_Invoker_InvokedBase { public: float end_vision_duration; // 0x5b0 float damage; // 0x5b4 float knockback_duration; // 0x5b8 float disarm_duration; // 0x5bc }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_Quas : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_Wex : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_Exort : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Invoker_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_ColdSnap_AD : public C_DOTA_Ability_Invoker_ColdSnap { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_GhostWalk_AD : public C_DOTA_Ability_Invoker_GhostWalk { public: // No members available }; // Alignment: 0 // Size: 0x5d0 class C_DOTA_Ability_Invoker_Tornado_AD : public C_DOTA_Ability_Invoker_Tornado { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_EMP_AD : public C_DOTA_Ability_Invoker_EMP { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_Alacrity_AD : public C_DOTA_Ability_Invoker_Alacrity { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_SunStrike_AD : public C_DOTA_Ability_Invoker_SunStrike { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_ForgeSpirit_AD : public C_DOTA_Ability_Invoker_ForgeSpirit { public: // No members available }; // Alignment: 0 // Size: 0x5d8 class C_DOTA_Ability_Invoker_ChaosMeteor_AD : public C_DOTA_Ability_Invoker_ChaosMeteor { public: // No members available }; // Alignment: 0 // Size: 0x5b0 class C_DOTA_Ability_Invoker_IceWall_AD : public C_DOTA_Ability_Invoker_IceWall { public: // No members available }; // Alignment: 0 // Size: 0x5c0 class C_DOTA_Ability_Invoker_DeafeningBlast_AD : public C_DOTA_Ability_Invoker_DeafeningBlast { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Silencer_CurseOfTheSilent : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_Silencer_GlaivesOfWisdom : public C_DOTABaseAbility { public: int32_t m_iAttackIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< sGlaiveInfoSilencer > m_GlaiveInfo; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Silencer_LastWord : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Silencer_GlobalSilence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Obsidian_Destroyer_ArcaneOrb : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Obsidian_Destroyer_AstralImprisonment : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hImprisonedUnit; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Obsidian_Destroyer_EssenceAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Obsidian_Destroyer_SanityEclipse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Obsidian_Destroyer_Equilibrium : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Outworld_Devourer_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_ThunderClap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_DrunkenHaze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_CinderBrew : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Brewmaster_DrunkenBrawler : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnBrawlActiveChanged" int32_t m_iBrawlActive; // 0x5a0 bool m_bUpdateIcons; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: ParticleIndex_t m_nDrunkenBrawlerFX; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_Primal_Split_Fire_Phase : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_Brewmaster_HurlBoulder : public C_DOTABaseAbility { public: int32_t m_iBounces; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_AstralPulse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_SpellImmunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_Pulverize : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_DispelMagic : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_Cyclone : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_WindWalk : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_PermanentImmolation : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Brewmaster_Primal_Split_Cancel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Primal_Companion : public C_DOTABaseAbility { public: CHandle< C_DOTA_BaseNPC > m_hCurrentBrewling; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Brewmaster_Void_Astral_Pull : public C_DOTABaseAbility { public: int32_t pull_speed; // 0x5a0 int32_t pull_distance; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_Wolf_Bite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x6c8 class C_DOTA_Ability_Lycan_SummonWolves : public C_DOTABaseAbility { public: char szUnitName[260]; // 0x5a0 int32_t wolf_index; // 0x6a4 float wolf_duration; // 0x6a8 private: [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac public: CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_SummonWolves_CriticalStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_SummonWolves_PermanentInvisibility : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_Howl : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_FeralImpulse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Lycan_Shapeshift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Shadow_Demon_Disruption : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hDisruptedUnit; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shadow_Demon_Soul_Catcher : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shadow_Demon_Shadow_Poison_Release : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shadow_Demon_Shadow_Poison : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Shadow_Demon_Demonic_Purge : public C_DOTABaseAbility { public: bool m_bGrantedScepterCharges; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Shadow_Demon_Demonic_Cleanse : public C_DOTABaseAbility { public: bool m_bGrantedScepterCharges; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shadow_Demon_Disseminate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_LoneDruid_SpiritBear : public C_DOTABaseAbility { public: bool m_bLevelChanged; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: // MNetworkEnable CHandle< C_BaseEntity > m_hBear; // 0x5a4 CHandle< C_BaseEntity > m_hPreBear; // 0x5a8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_LoneDruid_SpiritBear_Return : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXOrigin; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SpiritBear_Defender : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_Entangling_Claws : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SpiritBear_Entangle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SpiritBear_Demolish : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_LoneDruid_Rabid : public C_DOTABaseAbility { public: float rabid_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SpiritLink : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_TrueForm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_TrueForm_Druid : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_LoneDruid_TrueForm_BattleCry : public C_DOTABaseAbility { public: float cry_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SavageRoar : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_LoneDruid_SavageRoar_Bear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bear_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bear_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_ChaosKnight_Chaos_Bolt : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 }; // Alignment: 3 // Size: 0x5c8 class C_DOTA_Ability_ChaosKnight_Reality_Rift : public C_DOTABaseAbility { public: float m_flPercentage; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< ParticleIndex_t > m_FXIndex; // 0x5a8 CHandle< C_BaseEntity > m_hRiftIllusion; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ChaosKnight_Chaos_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ChaosKnight_Phantasm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Chaos_Knight_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Meepo_Earthbind : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Meepo_Geostrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Meepo_DividedWeStand : public C_DOTABaseAbility { public: // MNetworkEnable int32_t m_nWhichDividedWeStand; // 0x5a0 // MNetworkEnable int32_t m_nNumDividedWeStand; // 0x5a4 // MNetworkEnable CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entPrimeDividedWeStand; // 0x5a8 // MNetworkEnable CHandle< C_DOTA_Ability_Meepo_DividedWeStand > m_entNextDividedWeStand; // 0x5ac }; // Alignment: 2 // Size: 0x5b0 class CDOTA_Ability_Meepo_Poof : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 public: int32_t radius; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Meepo_Ransack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Meepo_FairShare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Meepo_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5c8 class C_DOTA_Ability_Meepo_MegaMeepo : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > hPreviousMeepo; // 0x5a0 CHandle< C_BaseEntity > hMegameepoFrame; // 0x5a4 CUtlVector< CHandle< C_BaseEntity > > hListOfMeepos; // 0x5a8 bool m_bHasSwappedAbilities; // 0x5c0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Meepo_Megameepo_Fling : public C_DOTABaseAbility { public: int32_t vision_radius; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Meepo_Petrify : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Treant_EyesInTheForest : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Treant_NaturesGrasp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Treant_LifeBomb : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 CHandle< C_BaseEntity > m_hRMine; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Treant_LifeBomb_Explode : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Treant_NaturesGuise : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_CDOTA_Ability_Treant_LeechSeed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Treant_LivingArmor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Treant_Overgrowth : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ogre_Magi_Multicast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Ogre_Magi_Fireblast : public C_DOTABaseAbility { public: int32_t m_nMostRecentMulticastCount; // 0x5a0 }; // Alignment: 1 // Size: 0x5b0 class C_DOTA_Ability_Ogre_Magi_Unrefined_Fireblast : public C_DOTA_Ability_Ogre_Magi_Fireblast { public: int32_t m_nMostRecentMulticastCount; // 0x5a8 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Ogre_Magi_Ignite : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 int32_t m_nMostRecentMulticastCount; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ogre_Magi_Bloodlust : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ogre_Magi_Smash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Ogre_Magi_DumbLuck : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Undying_Decay : public C_DOTABaseAbility { public: int32_t decay_damage; // 0x5a0 int32_t radius; // 0x5a4 float decay_duration; // 0x5a8 int32_t str_steal; // 0x5ac float creep_damage_multiplier; // 0x5b0 }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Undying_SoulRip : public C_DOTABaseAbility { public: int32_t damage_per_unit; // 0x5a0 int32_t radius; // 0x5a4 int32_t max_units; // 0x5a8 int32_t tombstone_heal; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Undying_Tombstone_Zombie_DeathStrike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5c8 class C_DOTA_Ability_Undying_Tombstone : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_vZombies; // 0x5a0 CHandle< C_BaseEntity > hTombstone; // 0x5b8 int32_t radius; // 0x5bc float duration; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Undying_TombstoneUnitGrab : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Undying_TombstoneGrab : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Undying_FleshGolem : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Undying_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5c8 class C_DOTA_Ability_Rubick_Telekinesis : public C_DOTABaseAbility { public: // MNetworkEnable Vector m_vStartLocation; // 0x5a0 Vector m_vLandLocation; // 0x5ac GameTime_t m_flStartTime; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05bc[0x4]; // 0x5bc public: C_DOTA_BaseNPC* m_pTarget; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_TelekinesisLand : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_TelekinesisLand_Self : public C_DOTA_Ability_Rubick_TelekinesisLand { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_FadeBolt : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_NullField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x6b0 class C_DOTA_Ability_Rubick_SpellSteal : public C_DOTABaseAbility { public: // MNetworkEnable char m_ActivityModifier[256]; // 0x5a0 // MNetworkEnable float m_fStolenCastPoint; // 0x6a0 CHandle< C_BaseEntity > m_hStealTarget; // 0x6a4 CHandle< C_DOTABaseAbility > m_hStealAbility; // 0x6a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Hidden1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Hidden2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Hidden3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Rubick_Arcane_Supremacy : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Rubick_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Disruptor_Thunder_Strike : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Disruptor_Glimpse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Disruptor_KineticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Disruptor_StaticStorm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Disruptor_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d8 class C_DOTA_Ability_Nyx_Assassin_Impale : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a0 int32_t width; // 0x5b8 float duration; // 0x5bc int32_t length; // 0x5c0 int32_t speed; // 0x5c4 Vector vOriginalCast; // 0x5c8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Nyx_Assassin_ManaBurn : public C_DOTABaseAbility { public: int32_t aoe; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Nyx_Assassin_Burrow : public C_DOTABaseAbility { public: ParticleIndex_t m_nSpellStartFXIndex; // 0x5a0 ParticleIndex_t m_nPhaseStartFXIndex; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Nyx_Assassin_Unburrow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nyx_Assassin_SpikedCarapace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Nyx_Assassin_Vendetta : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Nyx_Assassin_Jolt : public C_DOTABaseAbility { public: int32_t aoe; // 0x5a0 int32_t damage; // 0x5a4 }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_NagaSiren_MirrorImage : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NagaSiren_Ensnare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NagaSiren_RipTide : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NagaSiren_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NagaSiren_SongOfTheSiren : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_NagaSiren_SongOfTheSiren_Cancel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_Naga_Siren_Reel_In : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > affectedEntities; // 0x5a0 }; // Alignment: 8 // Size: 0x5c8 class C_DOTA_Ability_KeeperOfTheLight_Illuminate : public C_DOTABaseAbility { public: GameTime_t m_fStartTime; // 0x5a0 float m_fPower; // 0x5a4 int32_t m_iProjectile; // 0x5a8 ParticleIndex_t m_nFXIndex; // 0x5ac ParticleIndex_t m_nFXIndexB; // 0x5b0 Vector m_vPos; // 0x5b4 int32_t total_damage; // 0x5c0 bool m_bStarted; // 0x5c4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_IlluminateEnd : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminate : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 float max_channel_time; // 0x5a4 int32_t total_damage; // 0x5a8 float m_fPower; // 0x5ac GameTime_t m_fStartTime; // 0x5b0 ParticleIndex_t m_nFXIndex; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_SpiritFormIlluminateEnd : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_ManaLeak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_Radiant_Bind : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_Will_O_Wisp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_ChakraMagic : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_KeeperOfTheLight_SpiritForm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_Recall : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_KeeperOfTheLight_BlindingLight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_10 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_11 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_12 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_13 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Keeper_of_the_Light_14 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5c0 class C_DOTA_Ability_Wisp_Tether : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hTarget; // 0x5a0 Vector m_vProjectileLocation; // 0x5a4 bool m_bProjectileActive; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: int32_t latch_distance; // 0x5b4 int32_t m_iProjectileIndex; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Tether_Break : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Empty1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Empty2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Spirits_In : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Spirits_Out : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Wisp_Overcharge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Wisp_Relocate : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndexEndTeam; // 0x5a0 ParticleIndex_t m_nFXIndexChannel; // 0x5a4 float cast_delay; // 0x5a8 float return_time; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Visage_GraveChill : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Visage_SoulAssumption : public C_DOTABaseAbility { public: float m_fDamage; // 0x5a0 ParticleIndex_t m_nFXIndex; // 0x5a4 int32_t m_iForcedStacks; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Visage_GravekeepersCloak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x6c0 class C_DOTA_Ability_Visage_SummonFamiliars : public C_DOTABaseAbility { public: char szUnitName[260]; // 0x5a0 private: [[maybe_unused]] uint8_t __pad06a4[0x4]; // 0x6a4 public: CUtlVector< CHandle< C_BaseEntity > > m_hExistingUnits; // 0x6a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Visage_SummonFamiliars_StoneForm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Visage_Stone_Form_Self_Cast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Visage_Silent_As_The_Grave : public C_DOTABaseAbility { public: float invis_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Slark_DarkPact : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slark_Pounce : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slark_EssenceShift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slark_ShadowDance : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Slark_Depth_Shroud : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a8 class C_DOTA_Ability_Slark_Fish_Bait : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Medusa_SplitShot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5d0 class C_DOTA_Ability_Medusa_MysticSnake : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t snake_jumps; // 0x5a4 int32_t snake_damage; // 0x5a8 int32_t snake_damage_pct; // 0x5ac int32_t snake_mana_steal; // 0x5b0 int32_t snake_scale; // 0x5b4 int32_t snake_speed_scale; // 0x5b8 int32_t initial_speed; // 0x5bc int32_t return_speed; // 0x5c0 float jump_delay; // 0x5c4 float slow_duration; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Medusa_ManaShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Medusa_StoneGaze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Medusa_Cold_Blooded : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Troll_Warlord_Rampage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_TrollWarlord_BerserkersRage : public C_DOTABaseAbility { public: int32_t m_iOriginalAttackCapabilities; // 0x5a0 }; // Alignment: 8 // Size: 0x5e0 class C_DOTA_Ability_TrollWarlord_WhirlingAxes_Ranged : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 int32_t m_iArrowProjectile; // 0x5ac int32_t axe_width; // 0x5b0 float axe_speed; // 0x5b4 float axe_range; // 0x5b8 int32_t axe_spread; // 0x5bc int32_t axe_count; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x5c8 }; // Alignment: 2 // Size: 0x5c0 class C_DOTA_Ability_TrollWarlord_Whirling_Axes_Melee : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x5a0 int32_t m_nAxeIdx; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_TrollWarlord_Fervor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_TrollWarlord_BattleTrance : public C_DOTABaseAbility { public: float trance_duration; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Centaur_HoofStomp : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Centaur_DoubleEdge : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Centaur_Return : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d0 class CDOTA_Ability_Centaur_Stampede : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t base_damage; // 0x5a4 float strength_damage; // 0x5a8 float slow_duration; // 0x5ac float scepter_bonus_duration; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Centaur_Mount : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Centaur_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Magnataur_Horn_Toss : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5d8 class C_DOTA_Ability_Magnataur_Shockwave : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5a8 CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitListReturning; // 0x5c0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Magnataur_Empower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Magnataur_Skewer : public C_DOTABaseAbility { public: int32_t skewer_radius; // 0x5a0 int32_t skewer_speed; // 0x5a4 int32_t range; // 0x5a8 int32_t tree_radius; // 0x5ac int32_t m_nTargetsHit; // 0x5b0 }; // Alignment: 2 // Size: 0x5b0 class C_DOTA_Ability_Magnataur_ReversePolarity : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 Vector m_vPullLocation; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Magnus_Strength_Of_Joelrak : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Magnus_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Shredder_WhirlingDeath : public C_DOTABaseAbility { public: int32_t whirling_radius; // 0x5a0 int32_t whirling_damage; // 0x5a4 float whirling_tick; // 0x5a8 float duration; // 0x5ac int32_t tree_damage_scale; // 0x5b0 }; // Alignment: 4 // Size: 0x5b8 class C_DOTA_Ability_Shredder_TimberChain : public C_DOTABaseAbility { public: int32_t chain_radius; // 0x5a0 ParticleIndex_t m_nFXIndex; // 0x5a4 Vector m_vProjectileVelocity; // 0x5a8 bool m_bRetract; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shredder_Reactive_Armor : public C_DOTABaseAbility { public: // No members available }; // Alignment: 13 // Size: 0x5f0 class C_DOTA_Ability_Shredder_Chakram : public C_DOTABaseAbility { public: float radius; // 0x5a0 float speed; // 0x5a4 float pass_slow_duration; // 0x5a8 int32_t pass_damage; // 0x5ac Vector m_vEndLocation; // 0x5b0 float m_fZCoord; // 0x5bc bool m_bIsReturning; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: ParticleIndex_t m_nFXIndex; // 0x5c4 ParticleIndex_t m_nFXIndexB; // 0x5c8 ParticleIndex_t m_nFXIndexC; // 0x5cc int32_t m_nProjectileIndex; // 0x5d0 CHandle< C_BaseEntity > m_hThinker; // 0x5d4 CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5d8 }; // Alignment: 0 // Size: 0x5f0 class C_DOTA_Ability_Shredder_ChakramAlias_shredder_chakram_2 : public C_DOTA_Ability_Shredder_Chakram { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shredder_ReturnChakram : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shredder_ReturnChakramAlias_shredder_return_chakram_2 : public C_DOTA_Ability_Shredder_ReturnChakram { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Shredder_Flamethrower : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_Warpath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_ViscousNasalGoo : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_QuillSpray : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_Bristleback : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Bristleback_Hairball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Tusk_IceShards_Stop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5f0 class C_DOTA_Ability_Tusk_IceShards : public C_DOTABaseAbility { public: int32_t m_iProjectile; // 0x5a0 int32_t shard_width; // 0x5a4 int32_t shard_damage; // 0x5a8 int32_t shard_count; // 0x5ac float shard_speed; // 0x5b0 float shard_duration; // 0x5b4 float shard_angle_step; // 0x5b8 int32_t shard_distance; // 0x5bc Vector m_vSpawnOrigin; // 0x5c0 Vector m_vDirection; // 0x5cc CUtlVector< CHandle< C_BaseEntity > > m_vecShards; // 0x5d8 }; // Alignment: 21 // Size: 0x620 class C_DOTA_Ability_Tusk_Snowball : public C_DOTABaseAbility { public: int32_t snowball_windup_radius; // 0x5a0 int32_t snowball_radius; // 0x5a4 int32_t snowball_grow_rate; // 0x5a8 int32_t snowball_damage; // 0x5ac int32_t snowball_damage_bonus; // 0x5b0 float stun_duration; // 0x5b4 int32_t bonus_damage; // 0x5b8 float bonus_stun; // 0x5bc int32_t snowball_speed; // 0x5c0 int32_t snowball_speed_bonus; // 0x5c4 float snowball_duration; // 0x5c8 Vector m_vProjectileLocation; // 0x5cc CUtlVector< CHandle< C_BaseEntity > > m_hSnowballedUnits; // 0x5d8 ParticleIndex_t m_nFXIndex; // 0x5f0 private: [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 public: CountdownTimer ctSnowball; // 0x5f8 bool m_bSpeakAlly; // 0x610 bool m_bIsExpired; // 0x611 bool m_bInWindup; // 0x612 private: [[maybe_unused]] uint8_t __pad0613[0x1]; // 0x613 public: CHandle< C_BaseEntity > m_hPrimaryTarget; // 0x614 int32_t m_nContainedValidUnits; // 0x618 bool m_bEndingSnowball; // 0x61c }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tusk_Launch_Snowball : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tusk_FrozenSigil : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Tusk_WalrusPunch : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b8 class CDOTA_Ability_Tusk_WalrusKick : public C_DOTABaseAbility { public: ParticleIndex_t m_nTargetFXIndex; // 0x5a0 Vector m_vEndpoint; // 0x5a4 int32_t landing_radius; // 0x5b0 int32_t push_length; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Tusk_Tag_Team : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Skywrath_Mage_Shield_Of_The_Scion : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Skywrath_Mage_Arcane_Bolt : public C_DOTABaseAbility { public: int32_t bolt_vision; // 0x5a0 float vision_duration; // 0x5a4 float m_flDamage; // 0x5a8 int32_t m_nFXIndex; // 0x5ac }; // Alignment: 6 // Size: 0x5b8 class C_DOTA_Ability_Skywrath_Mage_Concussive_Shot : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t slow_radius; // 0x5a4 int32_t damage; // 0x5a8 int32_t shot_vision; // 0x5ac float slow_duration; // 0x5b0 float vision_duration; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Skywrath_Mage_Ancient_Seal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Skywrath_Mage_Mystic_Flare : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Skywrath_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Abaddon_DeathCoil : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Abaddon_AphoticShield : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Abaddon_Frostmourne : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Abaddon_BorrowedTime : public C_DOTABaseAbility { public: // No members available }; // Alignment: 10 // Size: 0x5d0 class C_DOTA_Ability_Elder_Titan_AncestralSpirit : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t radius; // 0x5a4 float buff_duration; // 0x5a8 float spirit_duration; // 0x5ac int32_t m_nCreepsHit; // 0x5b0 int32_t m_nHeroesHit; // 0x5b4 bool m_bIsReturning; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9 public: CHandle< C_BaseEntity > m_hAncestralSpirit; // 0x5bc ParticleIndex_t m_nReturnFXIndex; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c4[0x4]; // 0x5c4 public: CUtlString m_strMoveSpiritSwapAbility; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Elder_Titan_MoveSpirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Elder_Titan_ReturnSpirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5f8 class C_DOTA_Ability_Elder_Titan_EchoStomp : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndexTitan; // 0x5a0 ParticleIndex_t m_nFXIndexSpirit; // 0x5a4 ParticleIndex_t m_nFXIndexTitanB; // 0x5a8 ParticleIndex_t m_nFXIndexSpiritB; // 0x5ac int32_t radius; // 0x5b0 int32_t stomp_damage; // 0x5b4 float sleep_duration; // 0x5b8 float cast_time; // 0x5bc CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes; // 0x5c0 CUtlVector< CHandle< C_BaseEntity > > m_vecStompedHeroes_BuffCounted; // 0x5d8 bool m_bStompedInvisibleHero; // 0x5f0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Elder_Titan_EchoStomp_Spirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Elder_Titan_NaturalOrder : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Elder_Titan_NaturalOrder_Spirit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5c0 class CDOTA_Ability_Elder_Titan_EarthSplitter : public C_DOTABaseAbility { public: int32_t crack_width; // 0x5a0 int32_t crack_distance; // 0x5a4 int32_t speed; // 0x5a8 int32_t vision_width; // 0x5ac float crack_time; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Legion_Commander_OverwhelmingOdds : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Legion_Commander_PressTheAttack : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Legion_Commander_MomentOfCourage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Legion_Commander_Duel : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Holdout_GladiatorsUnite : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Techies_ReactiveTazer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Techies_StickyBomb : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Techies_LandMines : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Techies_StasisTrap : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 CHandle< C_BaseEntity > m_hTrap; // 0x5a4 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Techies_Suicide : public C_DOTABaseAbility { public: uint32_t m_unSuicideKills; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Techies_RemoteMines : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 CHandle< C_BaseEntity > m_hRMine; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Techies_FocusedDetonate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Techies_RemoteMines_SelfDetonate : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_Techies_Minefield_Sign : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 ParticleIndex_t m_nFXHammerIndex; // 0x5a4 int32_t aura_radius; // 0x5a8 CHandle< C_BaseEntity > m_hSign; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_EmberSpirit_SearingChains : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5d0 class C_DOTA_Ability_EmberSpirit_SleightOfFist : public C_DOTABaseAbility { public: Vector m_vCastLoc; // 0x5a0 int32_t m_nHeroesKilled; // 0x5ac CUtlVector< CHandle< C_BaseEntity > > m_hAttackEntities; // 0x5b0 ParticleIndex_t m_nFXMarkerIndex; // 0x5c8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_EmberSpirit_FlameGuard : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class C_DOTA_Ability_EmberSpirit_FireRemnant : public C_DOTABaseAbility { public: CUtlVector< RemnantData_t > m_vRemnantData; // 0x5a0 }; // Alignment: 7 // Size: 0x5e8 class C_DOTA_Ability_EmberSpirit_Activate_FireRemnant : public C_DOTABaseAbility { public: int32_t m_nProjectileID; // 0x5a0 Vector m_vStartLocation; // 0x5a4 Vector m_vProjectileLocation; // 0x5b0 QAngle m_ProjectileAngles; // 0x5bc CHandle< C_BaseEntity > m_hRemnantToKill; // 0x5c8 bool m_bProjectileStarted; // 0x5cc private: [[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd public: CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x5d0 }; // Alignment: 18 // Size: 0x610 class C_DOTA_Ability_EarthSpirit_RollingBoulder : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t speed; // 0x5a4 int32_t rock_speed; // 0x5a8 int32_t damage; // 0x5ac int32_t damage_str; // 0x5b0 float distance; // 0x5b4 float rock_distance; // 0x5b8 float rock_distance_multiplier; // 0x5bc float slow_duration; // 0x5c0 ParticleIndex_t m_nFXIndex; // 0x5c4 bool m_boulderSetposBool; // 0x5c8 private: [[maybe_unused]] uint8_t __pad05c9[0x3]; // 0x5c9 public: int32_t m_nProjectileID; // 0x5cc Vector m_vStartingLocation; // 0x5d0 Vector m_vProjectileLocation; // 0x5dc Vector m_vDir; // 0x5e8 Vector m_vVel; // 0x5f4 bool m_bUsedStone; // 0x600 private: [[maybe_unused]] uint8_t __pad0601[0x3]; // 0x601 public: Vector m_vRollDirection; // 0x604 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_EarthSpirit_StoneCaller : public C_DOTABaseAbility { public: // No members available }; // Alignment: 12 // Size: 0x5d0 class C_DOTA_Ability_EarthSpirit_BoulderSmash : public C_DOTABaseAbility { public: int32_t speed; // 0x5a0 int32_t rock_damage; // 0x5a4 float creep_multiplier; // 0x5a8 int32_t radius; // 0x5ac int32_t rock_search_aoe; // 0x5b0 float unit_distance; // 0x5b4 float rock_distance; // 0x5b8 int32_t m_nProjectileID; // 0x5bc CHandle< C_BaseEntity > m_hCursorTarget; // 0x5c0 bool m_bUsedStone; // 0x5c4 private: [[maybe_unused]] uint8_t __pad05c5[0x3]; // 0x5c5 public: CHandle< C_BaseEntity > m_hTarget; // 0x5c8 bool m_bTargetStone; // 0x5cc }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_EarthSpirit_GeomagneticGrip : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_EarthSpirit_Magnetize : public C_DOTABaseAbility { public: int32_t cast_radius; // 0x5a0 int32_t rock_explosion_radius; // 0x5a4 float damage_duration; // 0x5a8 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_EarthSpirit_Petrify : public C_DOTABaseAbility { public: int32_t ally_cast_range; // 0x5a0 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_AbyssalUnderlord_Firestorm : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 1 // Size: 0x5b0 class CDOTA_Ability_AbyssalUnderlord_PitOfMalice : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AbyssalUnderlord_AtrophyAura : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AbyssalUnderlord_DarkRift : public C_DOTABaseAbility { public: float teleport_delay; // 0x5a0 CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_AbyssalUnderlord_Cancel_DarkRift : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AbyssalUnderlord_Portal_Warp : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 // MNetworkEnable float m_flChannelTime; // 0x5a4 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_AbyssalUnderlord_Dark_Portal : public C_DOTABaseAbility { public: float duration; // 0x5a0 float distance_from_fountain; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Underlord_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Terrorblade_Reflection : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Terrorblade_ConjureImage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Terrorblade_Metamorphosis : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Terrorblade_Demon_Zeal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Terrorblade_Terror_Wave : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Terrorblade_Sunder : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_SunRay : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_SunRayStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_SunRayToggleMove : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_SunRayToggleMoveEmpty : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Phoenix_IcarusDive : public C_DOTABaseAbility { public: int32_t hp_cost_perc; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_IcarusDiveStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_FireSpirits : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class C_DOTA_Ability_Phoenix_LaunchFireSpirit : public C_DOTABaseAbility { public: int32_t spirit_speed; // 0x5a0 float duration; // 0x5a4 int32_t radius; // 0x5a8 ParticleIndex_t m_nFXIndex; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Phoenix_Supernova : public C_DOTABaseAbility { public: // No members available }; // Alignment: 11 // Size: 0x5d0 class C_DOTA_Ability_Oracle_FortunesEnd : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 int32_t radius; // 0x5a4 int32_t bolt_speed; // 0x5a8 float maximum_purge_duration; // 0x5ac float minimum_purge_duration; // 0x5b0 GameTime_t m_flStartTime; // 0x5b4 float m_flDuration; // 0x5b8 float m_flDamage; // 0x5bc bool m_bAbsorbed; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c1[0x3]; // 0x5c1 public: CHandle< C_BaseEntity > m_hTarget; // 0x5c4 ParticleIndex_t m_nFXIndex; // 0x5c8 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Oracle_FatesEdict : public C_DOTABaseAbility { public: bool m_bTargetIsAlly; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Oracle_PurifyingFlames : public C_DOTABaseAbility { public: bool m_bTargetIsAlly; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: CHandle< C_BaseEntity > m_hRecentTarget; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Oracle_FalsePromise : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Oracle_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Oracle_RainOfDestiny : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5b8 class CDOTA_Ability_Winter_Wyvern_Arctic_Burn : public C_DOTABaseAbility { public: CUtlVector< CEntityIndex > m_BurnedTargets; // 0x5a0 }; // Alignment: 0 // Size: 0x5a8 class CDOTA_Ability_Winter_Wyvern_Splinter_Blast : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Winter_Wyvern_Cold_Embrace : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Winter_Wyvern_Winters_Curse : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ArcWarden_Flux : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ArcWarden_MagneticField : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_ArcWarden_SparkWraith : public C_DOTABaseAbility { public: float duration; // 0x5a0 float activation_delay; // 0x5a4 float wraith_vision_duration; // 0x5a8 int32_t wraith_vision_radius; // 0x5ac int32_t spark_damage; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_ArcWarden_TempestDouble : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hDoubles; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_ArcWarden_Scepter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0xda8 class C_DOTA_Ability_MonkeyKing_TreeDance : public C_DOTABaseAbility { public: int32_t perched_jump_distance; // 0x5a0 int32_t ground_jump_distance; // 0x5a4 }; // Alignment: 5 // Size: 0x5c0 class C_DOTA_Ability_MonkeyKing_Spring : public C_DOTABaseAbility { public: Vector m_vPos; // 0x5a0 GameTime_t m_fStartChannelTime; // 0x5ac CHandle< C_BaseEntity > m_hThinker; // 0x5b0 ParticleIndex_t m_nFxIndex; // 0x5b4 int32_t m_nRefCount; // 0x5b8 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_MonkeyKing_Boundless_Strike : public C_DOTABaseAbility { public: int32_t strike_cast_range; // 0x5a0 int32_t strike_radius; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_MonkeyKing_Spring_Early : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_MonkeyKing_Transform : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_MonkeyKing_UnTransform : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_MonkeyKing_QuadrupleTap : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pangolier_HeartPiercer : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pangolier_LuckyShot : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pangolier_ShieldCrash : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Pangolier_Swashbuckle : public C_DOTABaseAbility { public: int32_t dash_speed; // 0x5a0 int32_t start_radius; // 0x5a4 int32_t end_radius; // 0x5a8 int32_t range; // 0x5ac int32_t damage; // 0x5b0 }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Pangolier_Gyroshell : public C_DOTABaseAbility { public: ParticleIndex_t m_nFxIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pangolier_GyroshellStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_Pangolier_Rollup : public C_DOTABaseAbility { public: ParticleIndex_t m_nFxIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Pangolier_RollupStop : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkWillow_BrambleMaze : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkWillow_ShadowRealm : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkWillow_CursedCrown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_DarkWillow_Bedlam : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_DarkWillow_Terrorize : public C_DOTABaseAbility { public: ParticleIndex_t m_nFXIndex; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_DarkWillow_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Grimstroke_InkCreature : public C_DOTABaseAbility { public: float spawn_time; // 0x5a0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Grimstroke_Scepter : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Grimstroke_SpiritWalk : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 }; // Alignment: 17 // Size: 0x5f8 class CDOTA_Ability_Grimstroke_DarkArtistry : public C_DOTABaseAbility { public: Vector m_vCastDir; // 0x5a0 GameTime_t m_fStartTime; // 0x5ac float m_fTotalTime; // 0x5b0 int32_t m_nProjectileID; // 0x5b4 Vector m_vProjectileDir; // 0x5b8 ParticleIndex_t m_nFXIndex; // 0x5c4 ParticleIndex_t m_nFXIndexB; // 0x5c8 int32_t m_nTargetsHit; // 0x5cc int32_t m_nHeroesHit; // 0x5d0 int32_t m_nVisibleHeroesHit; // 0x5d4 float m_fDmgMultiplierTalent; // 0x5d8 float slow_duration; // 0x5dc int32_t start_radius; // 0x5e0 int32_t end_radius; // 0x5e4 int32_t damage; // 0x5e8 int32_t bonus_damage_per_target; // 0x5ec float vision_duration; // 0x5f0 }; // Alignment: 3 // Size: 0x5b0 class CDOTA_Ability_Grimstroke_SoulChain : public C_DOTABaseAbility { public: float chain_duration; // 0x5a0 int32_t chain_latch_radius; // 0x5a4 float creep_duration_pct; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Grimstroke_Dark_Portrait : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Grimstroke_Ink_Over : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Grimstroke_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Mars_Spear : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Mars_ArenaOfBlood : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Mars_Bulwark : public C_DOTABaseAbility { public: GameTime_t m_flNextAttack; // 0x5a0 GameTime_t m_flLastActive; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Mars_GodsRebuke : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_MarsSpearStunDuration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_ArenaOfBloodHPRegen : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_SpearBonusDamage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_ExtraCrit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_SpearCooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_RebukeCooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_GodsRebuke_Slow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_Speed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Bulwark_DamageReduction : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_Snapfire_MortimerKisses : public C_DOTABaseAbility { public: int32_t m_nDamagePerProjectile; // 0x5a0 int32_t damage_per_impact; // 0x5a4 int32_t impact_radius; // 0x5a8 int32_t projectile_vision; // 0x5ac }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_Snapfire_Scatterblast : public C_DOTABaseAbility { public: int32_t damage; // 0x5a0 float debuff_duration; // 0x5a4 int32_t point_blank_range; // 0x5a8 float point_blank_dmg_bonus_pct; // 0x5ac int32_t blast_width_end; // 0x5b0 }; // Alignment: 4 // Size: 0x5b8 class CDOTA_Ability_Snapfire_FiresnapCookie : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hTarget; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x8]; // 0x5a4 public: int32_t projectile_speed; // 0x5ac float pre_hop_duration; // 0x5b0 float cast_on_ally_gesture_time; // 0x5b4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Snapfire_LilShredder : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_Snapfire_GobbleUp : public C_DOTABaseAbility { public: float max_time_in_belly; // 0x5a0 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Snapfire_SpitCreep : public C_DOTABaseAbility { public: int32_t m_nDamagePerProjectile; // 0x5a0 CHandle< C_BaseEntity > m_hGobbledUnit; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Snapfire_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_VoidSpirit_AetherRemnant : public C_DOTABaseAbility { public: int32_t start_radius; // 0x5a0 int32_t end_radius; // 0x5a4 int32_t remnant_watch_distance; // 0x5a8 int32_t projectile_speed; // 0x5ac }; // Alignment: 8 // Size: 0x5d8 class CDOTA_Ability_VoidSpirit_AstralStep : public C_DOTABaseAbility { public: Vector m_vStartPos; // 0x5a0 Vector m_vDestination; // 0x5ac Vector m_vDirection; // 0x5b8 int32_t radius; // 0x5c4 int32_t min_travel_distance; // 0x5c8 int32_t max_travel_distance; // 0x5cc float debuff_duration; // 0x5d0 float pop_damage_delay; // 0x5d4 }; // Alignment: 1 // Size: 0x5a8 class CDOTA_Ability_VoidSpirit_Dissimilate : public C_DOTABaseAbility { public: float phase_duration; // 0x5a0 }; // Alignment: 4 // Size: 0x5b0 class CDOTA_Ability_VoidSpirit_ResonantPulse : public C_DOTABaseAbility { public: bool m_bGrantedScepterCharges; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 public: float buff_duration; // 0x5a4 int32_t base_absorb_amount; // 0x5a8 int32_t absorb_per_hero_hit; // 0x5ac }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_1 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_2 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_3 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_4 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_5 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_6 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_7 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_8 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_VoidSpirit_9 : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Hoodwink_AcornShot : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnAcornTreePlanted" uint32_t m_nAcornTree; // 0x5a0 float projectile_speed; // 0x5a4 float bounce_delay; // 0x5a8 int32_t bounce_range; // 0x5ac int32_t bounce_count; // 0x5b0 }; // Alignment: 3 // Size: 0x7b8 class C_DOTA_Ability_Hoodwink_Bushwhack : public C_DOTABaseAbility { public: int32_t trap_radius; // 0x5a0 int32_t m_nProjectileHandle; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Hoodwink_Scurry : public C_DOTABaseAbility { public: // No members available }; // Alignment: 3 // Size: 0x5c0 class C_DOTA_Ability_Hoodwink_Sharpshooter : public C_DOTABaseAbility { public: float max_charge_time; // 0x5a0 Vector m_vStartPos; // 0x5a4 ParticleIndex_t m_nFXIndex; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Hoodwink_Sharpshooter_Release : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotBounces : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotDamage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShotCharges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_Camouflague : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPierceHeroes : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_SharpshooterPureDamage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Duration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Bushwhack_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_Sharpshooter_Speed : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_AcornShot_ArmorCorruption : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_BushwhackCooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Hoodwink_ScurryDuration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Hoodwink_Caltrops : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5d0 class CDOTA_Ability_Hoodwink_Decoy : public C_DOTABaseAbility { public: CUtlVector< CHandle< C_BaseEntity > > hIllusion; // 0x5a0 float decoy_stun_duration; // 0x5b8 int32_t decoy_detonate_radius; // 0x5bc int32_t projectile_speed; // 0x5c0 ParticleIndex_t m_nFXIndex; // 0x5c4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Hoodwink_HeavyQuiver : public C_DOTABaseAbility { public: // No members available }; // Alignment: 6 // Size: 0x5d8 class C_DOTA_Ability_Hoodwink_HuntersBoomerang : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t speed; // 0x5a4 int32_t damage; // 0x5a8 float mark_duration; // 0x5ac CHandle< C_BaseEntity > m_hTarget; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4 public: CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x5b8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Hoodwink_HuntersQuiver : public C_DOTABaseAbility { public: // No members available }; // Alignment: 5 // Size: 0x5b8 class C_DOTA_Ability_Dawnbreaker_Solar_Guardian : public C_DOTABaseAbility { public: CHandle< C_BaseEntity > m_hThinker; // 0x5a0 bool m_bJumping; // 0x5a4 private: [[maybe_unused]] uint8_t __pad05a5[0x3]; // 0x5a5 public: CHandle< C_BaseEntity > m_hTeleportTarget; // 0x5a8 ParticleIndex_t m_nTPFXIndex; // 0x5ac ParticleIndex_t m_nAoEFXIndex; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dawnbreaker_Luminosity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 25 // Size: 0x648 class CDOTA_Ability_Dawnbreaker_Celestial_Hammer : public C_DOTABaseAbility { public: int32_t m_nProjectileIndex; // 0x5a0 int32_t m_nReturnProjectileID; // 0x5a4 Vector m_vEndLocation; // 0x5a8 float m_fZCoord; // 0x5b4 Vector m_vLastTrailThinkerLocation; // 0x5b8 bool m_bFlareDone; // 0x5c4 bool m_bStartedCatchAnimation; // 0x5c5 bool m_bIsReturning; // 0x5c6 private: [[maybe_unused]] uint8_t __pad05c7[0x1]; // 0x5c7 public: CUtlVector< CHandle< C_BaseEntity > > m_hReturnHits; // 0x5c8 CUtlVector< CHandle< C_BaseEntity > > m_hAoEHits; // 0x5e0 ParticleIndex_t m_nFXIndex; // 0x5f8 ParticleIndex_t m_nFXIndexC; // 0x5fc ParticleIndex_t m_nFXHammerReturnIndex; // 0x600 ParticleIndex_t m_nFXHammerProjectileIndex; // 0x604 ParticleIndex_t m_nFXHeroSolarGuardianTrailIndex; // 0x608 CHandle< C_BaseEntity > m_hThinker; // 0x60c int32_t projectile_speed; // 0x610 int32_t projectile_radius; // 0x614 int32_t hammer_damage; // 0x618 int32_t hammer_aoe_radius; // 0x61c int32_t flare_radius; // 0x620 bool bHasStartedBurning; // 0x624 private: [[maybe_unused]] uint8_t __pad0625[0x3]; // 0x625 public: float flare_debuff_duration; // 0x628 int32_t return_anim_distance_threshold; // 0x62c int32_t range; // 0x630 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dawnbreaker_Fire_Wreath : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dawnbreaker_Converge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Dawnbreaker_Land : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Magic_Immunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Radius : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Converge_Slow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Celestial_Hammer_Cast_Range : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_Wreath_Ministun : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Attack_Count : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Fire_wreath_Charges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Solar_Guardian_Cooldown : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_Luminosity_Crit : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_Swipe : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_CelestialHammer_Slow : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Dawnbreaker_FireWreath_AoE : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Marci_Grapple : public C_DOTABaseAbility { public: // No members available }; // Alignment: 13 // Size: 0x5e0 class CDOTA_Ability_Marci_Companion_Run : public C_DOTABaseAbility { public: int32_t m_nTrackingProjectileID; // 0x5a0 ParticleIndex_t m_nFXIndex; // 0x5a4 int32_t m_nMaxJumpDistance; // 0x5a8 int32_t landing_radius; // 0x5ac int32_t move_speed; // 0x5b0 float ally_buff_duration; // 0x5b4 int32_t min_jump_distance; // 0x5b8 int32_t max_jump_distance; // 0x5bc int32_t impact_position_offset; // 0x5c0 int32_t vector_preview_radius; // 0x5c4 Vector m_vEndpoint; // 0x5c8 ParticleIndex_t m_nToBounceFXIndex; // 0x5d4 ParticleIndex_t m_nToTargetFXIndex; // 0x5d8 }; // Alignment: 2 // Size: 0x5a8 class CDOTA_Ability_Marci_Guardian : public C_DOTABaseAbility { public: float buff_duration; // 0x5a0 int32_t nearest_ally_search_range; // 0x5a4 }; // Alignment: 5 // Size: 0x5b8 class CDOTA_Ability_Marci_Unleash : public C_DOTABaseAbility { public: float duration; // 0x5a0 int32_t pulse_radius; // 0x5a4 float pulse_debuff_duration; // 0x5a8 int32_t pulse_damage; // 0x5ac float pulse_silence_duration; // 0x5b0 }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_AllyAbsorb : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Damage : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Lunge_Range : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Grapple_StunDuration : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_MagicImmunity : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_LungeRefresh : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Unleash_Silence : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Special_Bonus_Unique_Marci_Guardian_Lifesteal : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PrimalBeast_Trample : public C_DOTABaseAbility { public: // No members available }; // Alignment: 1 // Size: 0x5a8 class C_DOTA_Ability_PrimalBeast_Pulverize : public C_DOTABaseAbility { public: C_DOTA_BaseNPC* m_hTarget; // 0x5a0 }; // Alignment: 8 // Size: 0x5d0 class C_DOTA_Ability_PrimalBeast_Onslaught : public C_DOTABaseAbility { public: float max_charge_time; // 0x5a0 float knockback_distance; // 0x5a4 int32_t knockback_damage; // 0x5a8 int32_t collision_radius; // 0x5ac int32_t max_distance; // 0x5b0 Vector m_vStartPos; // 0x5b4 ParticleIndex_t m_nFXIndex; // 0x5c0 int32_t m_nProjectileID; // 0x5c4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_PrimalBeast_Onslaught_Release : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_PrimalBeast_Uproar : public C_DOTABaseAbility { public: // MNetworkEnable // MNetworkChangeCallback "OnUproarActiveChanged" int32_t m_iUproarStatus; // 0x5a0 bool m_bUpdateIcons; // 0x5a4 }; // Alignment: 7 // Size: 0x5c0 class CDOTA_Ability_PrimalBeast_Rock_Throw : public C_DOTABaseAbility { public: int32_t base_damage; // 0x5a0 int32_t impact_radius; // 0x5a4 int32_t fragment_impact_radius; // 0x5a8 int32_t fragment_impact_distance; // 0x5ac int32_t min_range; // 0x5b0 float stun_duration; // 0x5b4 ParticleIndex_t m_nFXPreview; // 0x5b8 }; // Alignment: 3 // Size: 0x5b0 class C_DOTA_Ability_Muerta_DeadShot : public C_DOTABaseAbility { public: int32_t radius; // 0x5a0 int32_t ricochet_radius_start; // 0x5a4 int32_t ricochet_radius_end; // 0x5a8 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Muerta_PierceTheVeil : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Muerta_TheCalling : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Muerta_Gunslinger : public C_DOTABaseAbility { public: // No members available }; // Alignment: 2 // Size: 0x5a8 class C_DOTA_Ability_Muerta_PartingShot : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hAbilitySoulEntity; // 0x5a0 CHandle< C_BaseEntity > m_hTarget; // 0x5a4 }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Special_Bonus_Unique_Muerta_TrickShotCharges : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Bracer : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Bracer : public C_DOTA_Item { public: int32_t counter; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Gauntlets : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Circlet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Slippers : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_WraithBand : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_WraithBand : public C_DOTA_Item { public: int32_t counter; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mantle : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_NullTalisman : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_NullTalisman : public C_DOTA_Item { public: int32_t counter; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tango_Single : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Clarity : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Flask : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BootsOfSpeed : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_BootsOfTravel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_BootsOfTravel_2 : public C_DOTA_Item_Recipe_BootsOfTravel { public: // No members available }; // Alignment: 3 // Size: 0x638 class C_DOTA_Item_BootsOfTravel : public C_DOTA_Item { public: float m_flTeleportTimeOverride; // 0x630 bool m_bPendingSellExcessScrolls; // 0x634 bool m_bQueueSellScrolls; // 0x635 }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_BootsOfTravel_2 : public C_DOTA_Item_BootsOfTravel { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_PowerTreads : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_PowerTreads : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnPowerTreadsStatChanged" int32_t m_iStat; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_PhaseBoots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PhaseBoots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_TranquilBoots : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x650 class C_DOTA_Item_TranquilBoots : public C_DOTA_Item { public: int32_t break_count; // 0x630 private: [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 public: CUtlVector< GameTime_t > m_DamageList; // 0x638 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_TranquilBoots2 : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x650 class C_DOTA_Item_TranquilBoots2 : public C_DOTA_Item { public: int32_t break_count; // 0x630 private: [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 public: CUtlVector< GameTime_t > m_DamageList; // 0x638 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Hermes_Sandals : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Hermes_Sandals : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Samurai_Tabi : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Samurai_Tabi : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnSamurai_TabiStatChanged" int32_t m_iStat; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_GlovesOfHaste : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BeltOfStrength : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RobeOfMagi : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BootsOfElven : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BladesOfAttack : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x640 class C_DOTA_Item_EmptyBottle : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnStoredRuneChanged" int32_t m_iStoredRuneType; // 0x630 GameTime_t m_fStoredRuneTime; // 0x634 float rune_expire_time; // 0x638 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DemonEdge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Eaglehorn : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Reaver : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_SacredRelic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Hyperstone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RingOfHealth : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_VoidStone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MysticStaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_EnergyBooster : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PointBooster : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_VitalityBooster : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Broadsword : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Quarterstaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Claymore : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RingOfProtection : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_StoutShield : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Javelin : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MithrilHammer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_ChainMail : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HelmOfIronWill : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PlateMail : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_QuellingBlade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_IronwoodBranch : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_OgreAxe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BladeOfAlacrity : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_StaffOfWizardry : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UltimateOrb : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MaskOfDeath : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RingOfRegeneration : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BlinkDagger : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SuperBlinkDagger : public C_DOTA_Item_BlinkDagger { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_SobiMask : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x640 class C_DOTA_Item_GemOfTrueSight : public C_DOTA_Item { public: int32_t m_iTempViewer; // 0x630 int32_t m_iTeam; // 0x634 int32_t m_nFXIndex; // 0x638 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PlaneswalkersCloak : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MagicStick : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_MagicWand : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MagicWand : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_TalismanOfEvasion : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_GhostScepter : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_HandOfMidas : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HandOfMidas : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_OblivionStaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_OblivionStaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Perseverance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Perseverance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_PoorMansShield : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PoorMansShield : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DustofAppearance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_ObserverWard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SentryWard : public C_DOTA_Item { public: // No members available }; // Alignment: 7 // Size: 0x658 class C_DOTA_Item_TeleportScroll : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hTeleportTarget; // 0x630 ParticleIndex_t m_nFXOrigin; // 0x634 ParticleIndex_t m_nFXDestination; // 0x638 Vector m_vDestination; // 0x63c int32_t m_iMinDistance; // 0x648 float m_flBaseTeleportTime; // 0x64c float m_flExtraTeleportTime; // 0x650 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_DivineRapier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DivineRapier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_MonkeyKingBar : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MonkeyKingBar : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Radiance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Radiance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Butterfly : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Butterfly : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_GreaterCritical : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_GreaterCritical : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_CraniumBasher : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_CraniumBasher : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_AbyssalBlade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_AbyssalBlade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Battlefury : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Battlefury : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_MantaStyle : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MantaStyle : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_LesserCritical : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_LesserCritical : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Armlet : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Armlet : public C_DOTA_Item { public: float toggle_cooldown; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_InvisibilityEdge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_InvisibilityEdge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_SheepStick : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_SheepStick : public C_DOTA_Item { public: int32_t upgrade_radius; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_OrchidMalevolence : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_OrchidMalevolence : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_RodOfAtos : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RodOfAtos : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Cyclone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Cyclone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_ForceStaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_ForceStaff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Dagon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Dagon2 : public C_DOTA_Item_Recipe_Dagon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Dagon3 : public C_DOTA_Item_Recipe_Dagon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Dagon4 : public C_DOTA_Item_Recipe_Dagon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Dagon5 : public C_DOTA_Item_Recipe_Dagon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon_Upgraded : public C_DOTA_Item_Dagon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon_Upgraded2 : public C_DOTA_Item_Dagon_Upgraded { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon_Upgraded3 : public C_DOTA_Item_Dagon_Upgraded { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon_Upgraded4 : public C_DOTA_Item_Dagon_Upgraded { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dagon_Upgraded5 : public C_DOTA_Item_Dagon_Upgraded { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_RefresherOrb : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RefresherOrb : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_RefresherOrb_Shard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_UltimateScepter : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_UltimateScepter_2 : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UltimateScepter_2 : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UltimateScepter : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UltimateScepter_Roshan : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Assault_Cuirass : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Assault_Cuirass : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Heart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Heart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Black_King_Bar : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Black_King_Bar : public C_DOTA_Item { public: bool m_bActive; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Aegis : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x648 class C_DOTA_Item_TierToken : public C_DOTA_Item { public: // MNetworkEnable AbilityID_t m_vecChoices[5]; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Shivas_Guard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Shivas_Guard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Bloodstone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Bloodstone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Sange : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Sange : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Yasha : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Yasha : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_SangeAndYasha : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_SangeAndYasha : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_MaskOfMadness : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MaskOfMadness : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Sphere : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Sphere : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Vanguard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Vanguard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Crimson_Guard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Crimson_Guard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Blade_Mail : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Blade_Mail : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Soul_Booster : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Soul_Booster : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Hood_Of_Defiance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Hood_Of_Defiance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Mekansm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mekansm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Vladmir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Vladmir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Buckler : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Buckler : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ring_Of_Basilius : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ring_Of_Basilius : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Pipe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Pipe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Urn_Of_Shadows : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Urn_Of_Shadows : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Headdress : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Headdress : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Satanic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Satanic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_HelmOfTheDominator : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_HelmOfTheDominator_2 : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_HelmOfTheOverlord : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HelmOfTheDominator : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HelmOfTheDominator_2 : public C_DOTA_Item_HelmOfTheDominator { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HelmOfTheOverlord : public C_DOTA_Item_HelmOfTheDominator { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Desolator : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Desolator : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Revenants_Brooch : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Revenants_Brooch : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Eagle_Eye : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x640 class C_DOTA_Item_EagleEye : public C_DOTA_Item { public: int32_t m_iTempViewer; // 0x630 int32_t m_iTeam; // 0x634 int32_t m_nFXIndex; // 0x638 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Tenderizer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tenderizer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Boots_Of_Bearing : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Boots_Of_Bearing : public C_DOTA_Item { public: int32_t radius; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_VoidwalkerScythe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_VoidwalkerScythe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_WraithPact : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_WraithPact : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hWard; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Skadi : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Skadi : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Mjollnir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mjollnir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Maelstrom : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Maelstrom : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Diffusal_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Diffusal_Blade2 : public C_DOTA_Item_Recipe_Diffusal_Blade { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Diffusal_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Diffusal_Blade_Level2 : public C_DOTA_Item_Diffusal_Blade { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ethereal_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ethereal_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Soul_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Soul_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Necronomicon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Necronomicon_2 : public C_DOTA_Item_Recipe_Necronomicon { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Necronomicon_3 : public C_DOTA_Item_Recipe_Necronomicon { public: // No members available }; // Alignment: 2 // Size: 0x638 class C_DOTA_Item_Necronomicon : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hWarrior; // 0x630 CHandle< C_BaseEntity > m_hArcher; // 0x634 }; // Alignment: 0 // Size: 0x638 class C_DOTA_Item_Necronomicon_Level2 : public C_DOTA_Item_Necronomicon { public: // No members available }; // Alignment: 0 // Size: 0x638 class C_DOTA_Item_Necronomicon_Level3 : public C_DOTA_Item_Necronomicon { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necronomicon_Warrior_ManaBurn : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necronomicon_Warrior_LastWill : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necronomicon_Warrior_Sight : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necronomicon_Archer_ManaBurn : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class CDOTA_Ability_Necronomicon_Archer_Purge : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x5a0 class C_DOTA_Ability_Necronomicon_Archer_AoE : public C_DOTABaseAbility { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Courier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Flying_Courier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Cheese : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Royale_With_Cheese : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Arcane_Boots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Arcane_Boots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Orb_of_Venom : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ancient_Janggo : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Ancient_Janggo : public C_DOTA_Item { public: int32_t radius; // 0x630 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Medallion_Of_Courage : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Medallion_Of_Courage : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Smoke_Of_Deceit : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Veil_Of_Discord : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Veil_Of_Discord : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_HeavensHalberd : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HeavensHalberd : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_RingOfAquila : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RingOfAquila : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_ShadowAmulet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Moonshard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Moonshard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Silver_Edge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Silver_Edge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_GlimmerCape : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_GlimmerCape : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Solar_Crest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Solar_Crest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Ward_Dispenser : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ward_Dispenser : public C_DOTA_Item { public: // No members available }; // Alignment: 4 // Size: 0x640 class CDOTA_Item_Ward_Maker : public C_DOTA_Item { public: float sentry_refresh; // 0x630 int32_t max_sentry_charges; // 0x634 GameTime_t m_flLastThinkTime; // 0x638 float m_flTimeAccumulator; // 0x63c }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Guardian_Greaves : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Guardian_Greaves : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Enchanted_Mango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Famango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_GreatFamango : public CDOTA_Item_Famango { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_GreaterFamango : public CDOTA_Item_Famango { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_GreatFamango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_GreaterFamango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Lotus_Orb : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Lotus_Orb : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Octarine_Core : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Octarine_Core : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Faerie_Fire : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_DragonLance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DragonLance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Aether_Lens : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Aether_Lens : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Iron_Talon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Iron_Talon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Bloodthorn : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Bloodthorn : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_EchoSabre : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_EchoSabre : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Blight_Stone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_WindLace : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tome_Of_Knowledge : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Hurricane_Pike : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Hurricane_Pike : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Infused_Raindrop : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_RiverPainter : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnRiverColorChanged" int32_t m_iRiverPaintColor; // 0x630 }; // Alignment: 0 // Size: 0x638 class C_DOTA_Item_RiverPainter2 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_RiverPainter3 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_RiverPainter4 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_RiverPainter5 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_RiverPainter6 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x638 class CDOTA_Item_RiverPainter7 : public C_DOTA_Item_RiverPainter { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_MeteorHammer : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x638 class C_DOTA_Item_MeteorHammer : public C_DOTA_Item { public: ParticleIndex_t m_nFXIndex; // 0x630 ParticleIndex_t m_nFXIndexB; // 0x634 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Nullifier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Nullifier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Spirit_Vessel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Spirit_Vessel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_AeonDisk : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x638 class C_DOTA_Item_AeonDisk : public C_DOTA_Item { public: int32_t m_nUses; // 0x630 int32_t max_level; // 0x634 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Kaya : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Kaya : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PocketTower : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_PocketRoshan : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Crown : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Holy_Locket : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Holy_Locket : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Kaya_And_Sange : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Kaya_And_Sange : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Yasha_And_Kaya : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Yasha_And_Kaya : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_RingOfTarrasque : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Diadem : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Blood_Grenade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Blood_Grenade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Phylactery : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Phylactery : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Disperser : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Disperser : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Cornucopia : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Cornucopia : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Pavise : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Pavise : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Keen_Optic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Keen_Optic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Grove_Bow : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Grove_Bow : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Quickening_Charm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Quickening_Charm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Philosophers_Stone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Force_Boots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Force_Boots : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Desolator_2 : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Desolator_2 : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Phoenix_Ash : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Phoenix_Ash : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Seer_Stone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Seer_Stone : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Greater_Mango : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Elixer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Vampire_Fangs : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Craggy_Coat : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Greater_Faerie_Fire : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Timeless_Relic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Timeless_Relic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mirror_Shield : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ironwood_tree : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ironwood_tree : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Royal_jelly : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Pupils_gift : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Pupils_gift : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tome_of_aghanim : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Repair_kit : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Mind_Breaker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Mind_Breaker2 : public C_DOTA_Item_Recipe_Mind_Breaker { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mind_Breaker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Third_eye : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Spell_Prism : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Horizon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Fusion_rune : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Princes_Knife : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Spider_Legs : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Helm_Of_The_Undying : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Mango_Tree : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x5b8 class CDOTA_Ability_PluckFamango : public C_DOTABaseAbility { public: // MNetworkEnable CHandle< C_BaseEntity > m_hTarget; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05a4[0x4]; // 0x5a4 public: CDOTA_Buff* m_pMyBuff; // 0x5a8 float famango_rate; // 0x5b0 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Vambrace : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Vambrace : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnVambraceStatChanged" int32_t m_iStat; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Witless_shako : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Imp_Claw : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Flicker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Spy_Gadget : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Ocean_Heart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ocean_Heart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Broom_Handle : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Broom_Handle : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Trusty_Shovel : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x648 class CDOTA_Item_Trusty_Shovel : public C_DOTA_Item { public: Vector m_vChannelPos; // 0x630 bool m_bIsUnderwater; // 0x63c private: [[maybe_unused]] uint8_t __pad063d[0x3]; // 0x63d public: ParticleIndex_t m_nPhaseStartFXIndex; // 0x640 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Nether_Shawl : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Nether_Shawl : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Dragon_Scale : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Dragon_Scale : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Essence_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Essence_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Clumsy_Net : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Clumsy_Net : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Enchanted_Quiver : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Enchanted_Quiver : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Ninja_Gear : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ninja_Gear : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Illusionsts_Cape : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Illusionsts_Cape : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Havoc_Hammer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Havoc_Hammer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Panic_Button : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Panic_Button : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Apex : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Apex : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Ballista : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ballista : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Woodland_Striders : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Woodland_Striders : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Trident : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Trident : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Demonicon : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x648 class CDOTA_Item_Demonicon : public C_DOTA_Item { public: CUtlVector< CHandle< C_BaseEntity > > m_hDemonSummons; // 0x630 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Fallen_Sky : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Fallen_Sky : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Pirate_Hat : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x648 class CDOTA_Item_Pirate_Hat : public C_DOTA_Item { public: Vector m_vChannelPos; // 0x630 bool m_bIsUnderwater; // 0x63c private: [[maybe_unused]] uint8_t __pad063d[0x3]; // 0x63d public: ParticleIndex_t m_nPhaseStartFXIndex; // 0x640 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Dimensional_Doorway : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Dimensional_Doorway : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Ex_Machina : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Ex_Machina : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Faded_Broach : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Faded_Broach : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Paladin_Sword : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Paladin_Sword : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Minotaur_Horn : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Minotaur_Horn : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Orb_Of_Destruction : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Orb_Of_Destruction : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_The_Leveller : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_The_Leveller : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Arcane_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Arcane_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Titan_Sliver : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Titan_Sliver : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Voodoo_Mask : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Blitz_Knuckles : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Witch_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Witch_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_MaskOfDispair : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MaskOfDispair : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Chipped_Vest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Chipped_Vest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Cloak_Of_Flames : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Cloak_Of_Flames : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Elven_Tunic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Elven_Tunic : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Gloves_Of_Travel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Gloves_Of_Travel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Orb_Of_Corrosion : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Orb_Of_Corrosion : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Sorcerers_Staff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Sorcerers_Staff : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Trickster_Cloak : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Trickster_Cloak : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Venom_Gland : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Venom_Gland : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Wizard_Glass : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Wizard_Glass : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Gladiator_Helm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Gladiator_Helm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Possessed_Mask : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Possessed_Mask : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_AssassinsDagger : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_AsceticCap : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_SamplePicker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_IcarusWings : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Dynamite_Jacket : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tree_Processor : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Heavy_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mechanical_Arm : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Fortitude_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Fortitude_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_PogoStick : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Paintball : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_UnstableWand : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_LightRobes : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Force_Field : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Misericorde : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ancient_Perseverance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ancient_Perseverance : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Oakheart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Oakheart : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Stormcrafter : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Stormcrafter : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Overflowing_Elixir : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x638 class C_DOTA_Item_Overflowing_Elixir : public C_DOTA_Item { public: int32_t m_iStoredRuneType; // 0x630 GameTime_t m_fStoredRuneTime; // 0x634 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Mysterious_Hat : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mysterious_Hat : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Orb_of_Pestilence : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Orb_of_Pestilence : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Fluffy_Hat : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Fluffy_Hat : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Falcon_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Falcon_Blade : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Mage_Slayer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Mage_Slayer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Overwhelming_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Overwhelming_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SuperOverwhelming_Blink : public C_DOTA_Item_Overwhelming_Blink { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Swift_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Swift_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SuperSwift_Blink : public C_DOTA_Item_Swift_Blink { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Arcane_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Arcane_Blink : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SuperArcane_Blink : public C_DOTA_Item_Arcane_Blink { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Wind_Waker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Wind_Waker : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Aghanims_Shard : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Aghanims_Shard_Roshan : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Eternal_Shroud : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Eternal_Shroud : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Star_Mace : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Star_Mace : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Penta_Edged_Sword : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Penta_Edged_Sword : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Gungir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Gungir : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Orb_Of_Revelations : public C_DOTA_Item { public: // No members available }; // Alignment: 2 // Size: 0x650 class C_DOTA_Item_Orb_Of_Revelations : public C_DOTA_Item { public: CountdownTimer m_ViewerTimer; // 0x630 int32_t m_iProjectile; // 0x648 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Satchel : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Grandmasters_Glaive : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Grandmasters_Glaive : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnGrandmastersStatChanged" int32_t m_iStat; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Warhammer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Warhammer : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Psychic_Headband : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Psychic_Headband : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Ceremonial_Robe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Ceremonial_Robe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Book_Of_Shadows : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Book_Of_Shadows : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Giants_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Giants_Ring : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Vengeances_Shadow : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Vengeances_Shadow : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Bullwhip : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Bullwhip : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Quicksilver_Amulet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Quicksilver_Amulet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Naginata : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Naginata : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_SeedsOfSerenity : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_LanceOfPursuit : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Occult_Bracelet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Tome_of_Omniscience : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_OgreSealTotem : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_WandOfTheBrine : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Slime_Vial : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Harpoon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Harpoon : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Guardian_Shell : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Arcane_Scout : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hScout; // 0x630 }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_Barricade : public C_DOTA_Item { public: CHandle< C_BaseEntity > m_hScout; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_EyeOfTheVizier : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_ManaclesOfPower : public C_DOTA_Item { public: // No members available }; // Alignment: 3 // Size: 0x640 class C_DOTA_Item_Bottomless_Chalice : public C_DOTA_Item { public: // MNetworkEnable // MNetworkChangeCallback "OnChaliceStoredRuneChanged" int32_t m_iStoredRuneType; // 0x630 GameTime_t m_fStoredRuneTime; // 0x634 float stored_rune_duration; // 0x638 }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_WandOfSanctitude : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_SpecialistsArray : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DaggerOfRistul : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Recipe_Lunar_Crest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Lunar_Crest : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Magus_Minimus : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Magus_Minimus : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Recipe_Witches_Switch : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_Witches_Switch : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Spark_Of_Courage : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_VindicatorsAxe : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DandelionAmulet : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_BlightedSpirit : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_DuelistGloves : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_HorizonsEquilibrium : public C_DOTA_Item { public: // No members available }; // Alignment: 1 // Size: 0x638 class C_DOTA_Item_TurtleShell : public C_DOTA_Item { public: float duration; // 0x630 }; // Alignment: 0 // Size: 0x630 class C_DOTA_Item_MartyrsPlate : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0x630 class CDOTA_Item_Gossamer_Cape : public C_DOTA_Item { public: // No members available }; // Alignment: 0 // Size: 0xa60 class C_EnvDeferredLight : public C_ModelPointEntity { public: // No members available }; // Alignment: 0 // Size: 0xa60 class C_EnvDeferredLightClientOnly : public C_EnvDeferredLight { public: // No members available }; // Alignment: 0 // Size: 0xa60 class C_EnvDeferredSpotLightClientOnly : public C_EnvDeferredLight { public: // No members available }; // Alignment: 95 // Size: 0xd58 class C_DOTAPlayerController : public CBasePlayerController { private: [[maybe_unused]] uint8_t __pad0688[0xa0]; // 0x688 public: int32_t m_iMinimapMove; // 0x728 private: [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c public: KeyValues* m_pClickBehaviorKeys; // 0x730 GameTime_t m_flCenterTime; // 0x738 int32_t m_iConfirmationIndex; // 0x73c bool m_bCenterOnHero; // 0x740 bool m_bHeroAssigned; // 0x741 private: [[maybe_unused]] uint8_t __pad0742[0x2]; // 0x742 public: int32_t m_nKeyBindHeroID; // 0x744 // MNetworkEnable bool m_bUsingCameraMan; // 0x748 // MNetworkEnable bool m_bUsingAssistedCameraOperator; // 0x749 private: [[maybe_unused]] uint8_t __pad074a[0x2]; // 0x74a public: // MNetworkEnable int32_t m_nPlayerAssistFlags; // 0x74c Vector m_vLatestEvent; // 0x750 private: [[maybe_unused]] uint8_t __pad075c[0x24]; // 0x75c public: CHandle< C_DOTABaseAbility > m_hFreeDrawAbility; // 0x780 Vector m_vLastFreeDrawPosition; // 0x784 // MNetworkEnable // MNetworkChangeCallback "OnPlayerIDChanged" PlayerID_t m_nPlayerID; // 0x790 // MNetworkEnable CHandle< C_BaseEntity > m_hAssignedHero; // 0x794 CHandle< C_BaseEntity > m_hLastAssignedHero; // 0x798 // MNetworkEnable CHandle< C_BaseEntity > m_hKillCamUnit; // 0x79c CHandle< C_BaseEntity > m_hPreviousKillCamUnit; // 0x7a0 float m_flKillCamUnitReceivedTime; // 0x7a4 private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: int32_t m_nRareLineClickCount; // 0x7b0 int32_t m_nRareLinesPlayed; // 0x7b4 int32_t m_nRareLineGroup; // 0x7b8 float m_flLastRareLinePlayTime; // 0x7bc float m_flNextUnitOrdersTime; // 0x7c0 bool m_bTeleportRequiresHalt; // 0x7c4 bool m_bChannelRequiresHalt; // 0x7c5 bool m_bAutoPurchaseItems; // 0x7c6 bool m_bDisableHUDErrorMessages; // 0x7c7 int32_t m_iMouseDragStartX; // 0x7c8 int32_t m_iMouseDragStartY; // 0x7cc int32_t m_nWeatherType; // 0x7d0 bool m_bDynamicWeatherSystemActive; // 0x7d4 bool m_bDynamicSoundHandled; // 0x7d5 private: [[maybe_unused]] uint8_t __pad07d6[0x2]; // 0x7d6 public: GameTime_t m_flDynamicWeatherNextSwitchTime; // 0x7d8 GameTime_t m_flDynamicWeatherScaleFinishedTime; // 0x7dc float m_flDynamicWeatherIntensity; // 0x7e0 ParticleIndex_t m_nXPRangeFXIndex; // 0x7e4 ParticleIndex_t m_nVisionRangeFXIndex; // 0x7e8 int32_t m_nSelectedControlGroup; // 0x7ec // MNetworkEnable int32_t m_nCachedCoachedTeam; // 0x7f0 CHandle< C_DOTABaseAbility > m_hActiveAbility; // 0x7f4 CUtlVector< CUnitOrders > m_unitorders; // 0x7f8 int32_t m_nOutgoingOrderSequenceNumber; // 0x810 // MNetworkEnable int32_t m_nServerOrderSequenceNumber; // 0x814 CUtlVector< CEntityIndex > m_nSelectedUnits; // 0x818 CUtlVector< ParticleIndex_t > m_nWaypoints; // 0x830 int32_t m_iActions; // 0x848 CHandle< C_DOTA_BaseNPC > m_hQueryUnit; // 0x84c bool m_bInQuery; // 0x850 bool m_bSelectionChangedInDataUpdate; // 0x851 private: [[maybe_unused]] uint8_t __pad0852[0x66]; // 0x852 public: GameTime_t m_flQueryInhibitingActionTime; // 0x8b8 float m_flQueryInhibitDuration; // 0x8bc CUtlVector< CHandle< C_BaseEntity > > m_RingedEntities; // 0x8c0 CUtlVector< CHandle< C_BaseEntity > > m_ActiveRingOwners; // 0x8d8 bool m_bOverridingQuery; // 0x8f0 private: [[maybe_unused]] uint8_t __pad08f1[0x7]; // 0x8f1 public: float m_flLastAutoRepeatTime; // 0x8f8 float m_flConsumeDoubleclickTime; // 0x8fc CUtlString m_LightInfoWeatherEffect; // 0x900 bool m_bPreviousWasLightInfoWeather; // 0x908 private: [[maybe_unused]] uint8_t __pad0909[0x7]; // 0x909 public: CUtlString m_MapDefaultWeatherEffect; // 0x910 bool m_bMapUsesDynamicWeather; // 0x918 private: [[maybe_unused]] uint8_t __pad0919[0x3f]; // 0x919 public: CUtlVector< ParticleIndex_t > m_vecSuggestedWardLocationEffects; // 0x958 C_DOTA_BaseNPC* m_pSmartCastNPC; // 0x970 ParticleIndex_t m_nTeamSprayParticleIndex; // 0x978 bool m_bIsNextCastOrderFromMouseClick; // 0x97c private: [[maybe_unused]] uint8_t __pad097d[0x33]; // 0x97d public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" // MNetworkPriority "32" int32_t m_iCursor[2]; // 0x9b0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iSpectatorClickBehavior; // 0x9b8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" float m_flAspectRatio; // 0x9bc // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" CHandle< C_BaseEntity > m_hSpectatorQueryUnit; // 0x9c0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iStatsPanel; // 0x9c4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iShopPanel; // 0x9c8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" ShopItemViewMode_t m_iShopViewMode; // 0x9cc // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iStatsDropdownCategory; // 0x9d0 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iStatsDropdownSort; // 0x9d4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" char m_szShopString[64]; // 0x9d8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" C_UtlVectorEmbeddedNetworkVar< ClientQuickBuyItemState > m_vecClientQuickBuyState; // 0xa18 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" bool m_bInShowCaseMode; // 0xa68 private: [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" float m_flCameraZoomAmount; // 0xa6c // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" int32_t m_iHighPriorityScore; // 0xa70 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" AbilityID_t m_quickBuyItems[9]; // 0xa74 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" bool m_quickBuyIsPurchasable[9]; // 0xa98 private: [[maybe_unused]] uint8_t __pad0aa1[0x3]; // 0xaa1 public: // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" float m_flFrameTime; // 0xaa4 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" float m_flFrameTimeStdDev; // 0xaa8 // MNetworkEnable // MNetworkUserGroup "DOTACommentatorTable" float m_flUnfilteredFrameTime; // 0xaac CUtlVector< NeutralCampStackPullAlarm_t > m_NeutralCampAlarms; // 0xab0 int32_t m_iPrevCursor[2]; // 0xac8 private: [[maybe_unused]] uint8_t __pad0ad0[0xa0]; // 0xad0 public: int32_t m_iPositionHistoryTail; // 0xb70 // MNetworkEnable int32_t m_iMusicStatus; // 0xb74 int32_t m_iPreviousMusicStatus; // 0xb78 bool m_bRequestedInventory; // 0xb7c private: [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d public: // MNetworkEnable float m_flMusicOperatorVals[3]; // 0xb80 // MNetworkEnable int32_t m_iMusicOperatorVals[4]; // 0xb8c private: [[maybe_unused]] uint8_t __pad0b9c[0x4]; // 0xb9c public: CUtlVector< sControlGroupElem > m_ControlGroups[10]; // 0xba0 KeyValues* m_pkvControlGroupKV; // 0xc90 private: [[maybe_unused]] uint8_t __pad0c98[0x58]; // 0xc98 public: float m_flAltHeldStartTime; // 0xcf0 }; // Alignment: 1 // Size: 0x530 class C_InfoPlayerStartDota : public C_PointEntity { public: // MNetworkEnable bool m_bDisabled; // 0x528 }; // Alignment: 1 // Size: 0x530 class C_DOTA_NeutralSpawner : public C_PointEntity { public: // MNetworkEnable // MNetworkPriority "32" int32_t m_Type; // 0x528 }; // Alignment: 2 // Size: 0x538 class C_DOTA_RoshanSpawner : public C_PointEntity { public: // MNetworkEnable int32_t m_iKillCount; // 0x528 // MNetworkEnable Vector m_vRoshanAltLocation; // 0x52c // Static fields: static C_DOTA_RoshanSpawner* &Get_s_pRoshanSpawner(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_DOTA_RoshanSpawner")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 // Size: 0x528 class C_DOTA_MinibossSpawner : public C_PointEntity { public: // No members available }; // Alignment: 2 // Size: 0x8e8 class C_DOTAAmbientCreatureParticleZone : public C_FuncBrush { public: char m_szModelName[64]; // 0x7a8 char m_szAreaName[256]; // 0x7e8 }; // Alignment: 14 // Size: 0x7f0 class C_DOTAWorldParticleSystem : public C_BaseModelEntity { public: int32_t m_nType; // 0x7a8 ParticleIndex_t m_iClientEffectIndex; // 0x7ac CUtlSymbolLarge m_szEffectName; // 0x7b0 CUtlSymbolLarge m_szTargetName; // 0x7b8 CUtlSymbolLarge m_szControlPoint; // 0x7c0 HSequence m_hOverrideSequence; // 0x7c8 private: [[maybe_unused]] uint8_t __pad07cc[0x4]; // 0x7cc public: CStrongHandle< InfoForResourceTypeCModel > m_hOverrideModel; // 0x7d0 Vector m_vModelScale; // 0x7d8 int32_t m_nSkinOverride; // 0x7e4 bool m_bDayTime; // 0x7e8 bool m_bNightTime; // 0x7e9 bool m_bShowInFow; // 0x7ea bool m_bShowWhileDynamicWeatherActive; // 0x7eb bool m_bAnimateDuringGameplayPause; // 0x7ec }; // Alignment: 7 // Size: 0x890 class C_DOTA_Item_Physical : public CBaseAnimatingActivity { public: // MNetworkEnable CHandle< C_DOTA_Item > m_hItem; // 0x7d0 // MNetworkEnable bool m_bIsLowPriorityHoverItem; // 0x7d4 private: [[maybe_unused]] uint8_t __pad07d5[0x3]; // 0x7d5 public: CHandle< C_DOTA_Item > m_hOldItem; // 0x7d8 private: [[maybe_unused]] uint8_t __pad07dc[0x4]; // 0x7dc public: char* m_pszParticleName; // 0x7e0 ParticleIndex_t m_nFXIndex; // 0x7e8 bool m_bShowingTooltip; // 0x7ec bool m_bShowingSimpleTooltip; // 0x7ed }; // Alignment: 6 // Size: 0xa88 class C_DOTA_Item_Rune : public CBaseAnimatingActivity { public: // MNetworkEnable int32_t m_iRuneType; // 0x7d0 // MNetworkEnable float m_flRuneTime; // 0x7d4 // MNetworkEnable int32_t m_nMapLocationTeam; // 0x7d8 // MNetworkEnable char m_szLocation[512]; // 0x7dc int32_t m_iOldRuneType; // 0x9dc bool m_bShowingTooltip; // 0x9e0 }; // Alignment: 4 // Size: 0x7e0 class C_DOTA_Item_RuneSpawner_Powerup : public CBaseAnimatingActivity { public: DOTA_RUNES m_nRuneType; // 0x7d0 // MNetworkEnable // MNetworkChangeCallback "OnPowerupLastSpawnTimeChanged" float m_flLastSpawnTime; // 0x7d4 // MNetworkEnable float m_flNextSpawnTime; // 0x7d8 // MNetworkEnable bool m_bNextRuneIsWater; // 0x7dc }; // Alignment: 3 // Size: 0x7e0 class C_DOTA_Item_RuneSpawner_Bounty : public CBaseAnimatingActivity { public: DOTA_RUNES m_nRuneType; // 0x7d0 // MNetworkEnable // MNetworkChangeCallback "OnBountyLastSpawnTimeChanged" float m_flLastSpawnTime; // 0x7d4 // MNetworkEnable float m_flNextSpawnTime; // 0x7d8 }; // Alignment: 3 // Size: 0x7e0 class C_DOTA_Item_RuneSpawner_XP : public CBaseAnimatingActivity { public: DOTA_RUNES m_nRuneType; // 0x7d0 // MNetworkEnable // MNetworkChangeCallback "OnXPLastSpawnTimeChanged" float m_flLastSpawnTime; // 0x7d4 // MNetworkEnable float m_flNextSpawnTime; // 0x7d8 }; // Alignment: 3 // Size: 0x7e0 class C_DOTA_Item_RuneSpawner : public CBaseAnimatingActivity { public: DOTA_RUNES m_nRuneType; // 0x7d0 // MNetworkEnable // MNetworkChangeCallback "OnCustomGameRuneSpawnerLastSpawnTimeChanged" float m_flLastSpawnTime; // 0x7d4 // MNetworkEnable float m_flNextSpawnTime; // 0x7d8 }; // Alignment: 1 // Size: 0x8f0 class C_DOTA_MapTree : public C_DOTA_BinaryObject { private: [[maybe_unused]] uint8_t __pad07d8[0x30]; // 0x7d8 public: bool m_bInitialized; // 0x808 }; // Alignment: 0 // Size: 0x7e8 class C_DOTA_PortraitTree : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 3 // Size: 0x7e8 class C_DOTA_PortraitBuilding : public CBaseAnimatingActivity { public: ParticleIndex_t m_nAmbientFXIndex; // 0x7d0 private: [[maybe_unused]] uint8_t __pad07d4[0x4]; // 0x7d4 public: CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x7d8 Color m_ParticleTintColor; // 0x7e0 }; // Alignment: 11 // Size: 0x630 class C_DOTATeam : public C_Team { public: // MNetworkEnable int32_t m_iHeroKills; // 0x5e0 // MNetworkEnable int32_t m_iTowerKills; // 0x5e4 // MNetworkEnable int32_t m_iBarracksKills; // 0x5e8 // MNetworkEnable uint32_t m_unTournamentTeamID; // 0x5ec // MNetworkEnable // MNetworkEncoder uint64_t m_ulTeamLogo; // 0x5f0 // MNetworkEnable // MNetworkEncoder uint64_t m_ulTeamBaseLogo; // 0x5f8 // MNetworkEnable // MNetworkEncoder uint64_t m_ulTeamBannerLogo; // 0x600 // MNetworkEnable bool m_bTeamComplete; // 0x608 // MNetworkEnable bool m_bTeamIsHomeTeam; // 0x609 // MNetworkEnable Color m_CustomHealthbarColor; // 0x60a // MNetworkEnable char m_szTag[33]; // 0x60e }; // Alignment: 0 // Size: 0x7d0 class C_DOTA_PortraitBaseModel : public CBaseAnimatingActivity { public: // No members available }; // Alignment: 0 // Size: 0x528 class C_PointEntityAlias_info_target_portrait_root : public C_PointEntity { public: // No members available }; // Alignment: 7 // Size: 0xa80 class C_PortraitWorldLight : public C_EnvDeferredLight { public: float m_flLatitude; // 0xa60 float m_flLongitude; // 0xa64 float m_flAdditionalRadius; // 0xa68 float m_flBoundsRadiusMultiplier; // 0xa6c CHandle< C_PortraitWorldUnit > m_hTarget; // 0xa70 bool m_bShowGizmos; // 0xa74 private: [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 public: CUtlStringToken m_hitboxSetName; // 0xa78 }; // Alignment: 2 // Size: 0x598 class C_DOTASceneEntity : public C_SceneEntity { public: int32_t m_nCustomStackIndex; // 0x588 float m_flVolume; // 0x58c }; // Alignment: 0 // Size: 0x528 class CInfoOfrendaStatueSpawn : public C_PointEntity { public: // No members available }; // Alignment: 5 // Size: 0x540 class CInfoDynamicShadowHint : public C_PointEntity { public: bool m_bDisabled; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x3]; // 0x529 public: float m_flRange; // 0x52c int32_t m_nImportance; // 0x530 int32_t m_nLightChoice; // 0x534 CHandle< C_BaseEntity > m_hLight; // 0x538 // Static fields: static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x558 class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: Vector m_vBoxMins; // 0x540 Vector m_vBoxMaxs; // 0x54c }; // Alignment: 10 // Size: 0x7f0 class C_EnvSky : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x7a8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" bool m_bStartDisabled; // 0x7b0 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" Color m_vTintColor; // 0x7b1 private: [[maybe_unused]] uint8_t __pad07b5[0x3]; // 0x7b5 public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flBrightnessScale; // 0x7b8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" int32_t m_nFogType; // 0x7bc // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMinStart; // 0x7c0 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMinEnd; // 0x7c4 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMaxStart; // 0x7c8 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMaxEnd; // 0x7cc // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" bool m_bEnabled; // 0x7d0 }; // Alignment: 0 // Size: 0x550 class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2 { public: // No members available }; // Alignment: 1 // Size: 0x7b0 class C_LightEntity : public C_BaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" CLightComponent* m_CLightComponent; // 0x7a8 }; // Alignment: 0 // Size: 0x7b0 class C_LightSpotEntity : public C_LightEntity { public: // No members available }; // Alignment: 0 // Size: 0x7b0 class C_LightOrthoEntity : public C_LightEntity { public: // No members available }; // Alignment: 0 // Size: 0x7b0 class C_LightDirectionalEntity : public C_LightEntity { public: // No members available }; // Alignment: 0 // Size: 0x7b0 class C_LightEnvironmentEntity : public C_LightDirectionalEntity { public: // No members available }; // Alignment: 12 // Size: 0x7f0 class C_PostProcessingVolume : public C_BaseTrigger { private: [[maybe_unused]] uint8_t __pad07b0[0x10]; // 0x7b0 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x7c0 // MNetworkEnable float m_flFadeDuration; // 0x7c8 // MNetworkEnable float m_flMinLogExposure; // 0x7cc // MNetworkEnable float m_flMaxLogExposure; // 0x7d0 // MNetworkEnable float m_flMinExposure; // 0x7d4 // MNetworkEnable float m_flMaxExposure; // 0x7d8 // MNetworkEnable float m_flExposureCompensation; // 0x7dc // MNetworkEnable float m_flExposureFadeSpeedUp; // 0x7e0 // MNetworkEnable float m_flExposureFadeSpeedDown; // 0x7e4 // MNetworkEnable float m_flTonemapEVSmoothingRange; // 0x7e8 // MNetworkEnable bool m_bMaster; // 0x7ec // MNetworkEnable bool m_bExposureControl; // 0x7ed }; // Alignment: 10 // Size: 0x800 class C_BasePlayerWeapon : public CBaseAnimatingActivity { public: // MNetworkEnable // MNetworkChangeCallback "OnWeaponStateChanged" WeaponState_t m_iState; // 0x7d0 WeaponState_t m_iOldState; // 0x7d4 bool m_bRemoveable; // 0x7d8 private: [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" GameTick_t m_nNextPrimaryAttackTick; // 0x7dc // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" float m_flNextPrimaryAttackTickRatio; // 0x7e0 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" GameTick_t m_nNextSecondaryAttackTick; // 0x7e4 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" float m_flNextSecondaryAttackTickRatio; // 0x7e8 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" int32_t m_iClip1; // 0x7ec // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" int32_t m_iClip2; // 0x7f0 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" int32_t m_pReserveAmmo[2]; // 0x7f4 }; // Alignment: 5 // Size: 0xd70 class C_EnvParticleGlow : public C_ParticleSystem { public: // MNetworkEnable float m_flAlphaScale; // 0xd58 // MNetworkEnable float m_flRadiusScale; // 0xd5c // MNetworkEnable float m_flSelfIllumScale; // 0xd60 // MNetworkEnable Color m_ColorTint; // 0xd64 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xd68 }; // Alignment: 8 // Size: 0x7e0 class C_TextureBasedAnimatable : public C_BaseModelEntity { public: // MNetworkEnable bool m_bLoop; // 0x7a8 private: [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 public: // MNetworkEnable float m_flFPS; // 0x7ac // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x7b0 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x7b8 // MNetworkEnable Vector m_vAnimationBoundsMin; // 0x7c0 // MNetworkEnable Vector m_vAnimationBoundsMax; // 0x7cc // MNetworkEnable float m_flStartTime; // 0x7d8 // MNetworkEnable float m_flStartFrame; // 0x7dc }; // Alignment: 3 // Size: 0x7e8 class C_World : public C_BaseModelEntity { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_skyBoxFaces[6]; // 0x7a8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogTexture; // 0x7d8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hHeightFogMaskTexture; // 0x7e0 }; // Alignment: 15 // Size: 0x9b0 class CBaseAnimGraph : public C_BaseModelEntity { private: [[maybe_unused]] uint8_t __pad07a8[0x8]; // 0x7a8 public: // MNetworkEnable bool m_bInitiallyPopulateInterpHistory; // 0x7b0 // MNetworkEnable bool m_bShouldAnimateDuringGameplayPause; // 0x7b1 private: [[maybe_unused]] uint8_t __pad07b2[0x1]; // 0x7b2 public: bool m_bSuppressAnimEventSounds; // 0x7b3 private: [[maybe_unused]] uint8_t __pad07b4[0xc]; // 0x7b4 public: // MNetworkEnable bool m_bAnimGraphUpdateEnabled; // 0x7c0 private: [[maybe_unused]] uint8_t __pad07c1[0x93]; // 0x7c1 public: // MNetworkDisable float m_flLastEventAnimTime; // 0x854 private: [[maybe_unused]] uint8_t __pad0858[0x4]; // 0x858 public: // MNetworkDisable AnimationUpdateListHandle_t m_hAnimationUpdate; // 0x85c float m_flMaxSlopeDistance; // 0x860 Vector m_vLastSlopeCheckPos; // 0x864 private: [[maybe_unused]] uint8_t __pad0870[0x4]; // 0x870 public: // MNetworkEnable Vector m_vecForce; // 0x874 // MNetworkEnable int32_t m_nForceBone; // 0x880 private: [[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884 public: CBaseAnimGraph* m_pClientsideRagdoll; // 0x888 bool m_bBuiltRagdoll; // 0x890 private: [[maybe_unused]] uint8_t __pad0891[0x17]; // 0x891 public: // MNetworkEnable PhysicsRagdollPose_t* m_pRagdollPose; // 0x8a8 // MNetworkEnable // MNetworkChangeCallback "OnClientRagdollChanged" bool m_bClientRagdoll; // 0x8b0 bool m_bHasAnimatedMaterialAttributes; // 0x8b1 }; // Alignment: 4 // Size: 0x810 class CBaseProp : public CBaseAnimatingActivity { public: bool m_bModelOverrodeBlockLOS; // 0x7d0 private: [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: int32_t m_iShapeType; // 0x7d4 bool m_bConformToCollisionBounds; // 0x7d8 private: [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 public: matrix3x4_t m_mPreferredCatchTransform; // 0x7dc }; // Alignment: 30 // Size: 0x920 class C_BreakableProp : public CBaseProp { private: [[maybe_unused]] uint8_t __pad0810[0x8]; // 0x810 public: CEntityIOOutput m_OnBreak; // 0x818 CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x840 CEntityIOOutput m_OnTakeDamage; // 0x868 float m_impactEnergyScale; // 0x890 int32_t m_iMinHealthDmg; // 0x894 float m_flPressureDelay; // 0x898 CHandle< C_BaseEntity > m_hBreaker; // 0x89c PerformanceMode_t m_PerformanceMode; // 0x8a0 float m_flDmgModBullet; // 0x8a4 float m_flDmgModClub; // 0x8a8 float m_flDmgModExplosive; // 0x8ac float m_flDmgModFire; // 0x8b0 private: [[maybe_unused]] uint8_t __pad08b4[0x4]; // 0x8b4 public: CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x8b8 CUtlSymbolLarge m_iszBasePropData; // 0x8c0 int32_t m_iInteractions; // 0x8c8 GameTime_t m_flPreventDamageBeforeTime; // 0x8cc bool m_bHasBreakPiecesOrCommands; // 0x8d0 private: [[maybe_unused]] uint8_t __pad08d1[0x3]; // 0x8d1 public: float m_explodeDamage; // 0x8d4 float m_explodeRadius; // 0x8d8 private: [[maybe_unused]] uint8_t __pad08dc[0x4]; // 0x8dc public: float m_explosionDelay; // 0x8e0 private: [[maybe_unused]] uint8_t __pad08e4[0x4]; // 0x8e4 public: CUtlSymbolLarge m_explosionBuildupSound; // 0x8e8 CUtlSymbolLarge m_explosionCustomEffect; // 0x8f0 CUtlSymbolLarge m_explosionCustomSound; // 0x8f8 CUtlSymbolLarge m_explosionModifier; // 0x900 CHandle< C_BasePlayerPawn > m_hPhysicsAttacker; // 0x908 GameTime_t m_flLastPhysicsInfluenceTime; // 0x90c float m_flDefaultFadeScale; // 0x910 CHandle< C_BaseEntity > m_hLastAttacker; // 0x914 CHandle< C_BaseEntity > m_hFlareEnt; // 0x918 // MNetworkEnable bool m_noGhostCollision; // 0x91c }; // Alignment: 29 // Size: 0xa48 class C_DynamicProp : public C_BreakableProp { public: bool m_bRandomAnimator; // 0x920 private: [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 public: GameTime_t m_flNextRandAnim; // 0x924 float m_flMinRandAnimDuration; // 0x928 float m_flMaxRandAnimDuration; // 0x92c // MNetworkEnable bool m_bUseHitboxesForRenderBox; // 0x930 // MNetworkEnable bool m_bUseAnimGraph; // 0x931 private: [[maybe_unused]] uint8_t __pad0932[0x6]; // 0x932 public: CEntityIOOutput m_pOutputAnimBegun; // 0x938 CEntityIOOutput m_pOutputAnimOver; // 0x960 CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0x988 CEntityIOOutput m_OnAnimReachedStart; // 0x9b0 CEntityIOOutput m_OnAnimReachedEnd; // 0x9d8 CUtlSymbolLarge m_iszDefaultAnim; // 0xa00 AnimLoopMode_t m_nDefaultAnimLoopMode; // 0xa08 bool m_bAnimateOnServer; // 0xa0c bool m_bRandomizeCycle; // 0xa0d bool m_bStartDisabled; // 0xa0e bool m_bScriptedMovement; // 0xa0f bool m_bFiredStartEndOutput; // 0xa10 bool m_bForceNpcExclude; // 0xa11 bool m_bCreateNonSolid; // 0xa12 bool m_bIsOverrideProp; // 0xa13 int32_t m_iInitialGlowState; // 0xa14 int32_t m_nGlowRange; // 0xa18 int32_t m_nGlowRangeMin; // 0xa1c Color m_glowColor; // 0xa20 int32_t m_nGlowTeam; // 0xa24 int32_t m_iCachedFrameCount; // 0xa28 Vector m_vecCachedRenderMins; // 0xa2c Vector m_vecCachedRenderMaxs; // 0xa38 }; // Alignment: 0 // Size: 0xa48 class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp { public: // No members available }; // Alignment: 0 // Size: 0xa48 class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp { public: // No members available }; // Alignment: 0 // Size: 0xa48 class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp { public: // No members available }; // Alignment: 9 // Size: 0x9d8 class C_ColorCorrectionVolume : public C_BaseTrigger { public: float m_LastEnterWeight; // 0x7b0 float m_LastEnterTime; // 0x7b4 float m_LastExitWeight; // 0x7b8 float m_LastExitTime; // 0x7bc // MNetworkEnable bool m_bEnabled; // 0x7c0 private: [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 public: // MNetworkEnable float m_MaxWeight; // 0x7c4 // MNetworkEnable float m_FadeDuration; // 0x7c8 // MNetworkEnable float m_Weight; // 0x7cc // MNetworkEnable char m_lookupFilename[512]; // 0x7d0 }; // Alignment: 0 // Size: 0x7a8 class C_FuncMoveLinear : public C_BaseToggle { public: // No members available }; // Alignment: 13 // Size: 0x820 class C_PointCommentaryNode : public CBaseAnimatingActivity { private: [[maybe_unused]] uint8_t __pad07d0[0x8]; // 0x7d0 public: // MNetworkEnable bool m_bActive; // 0x7d8 bool m_bWasActive; // 0x7d9 private: [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da public: GameTime_t m_flEndTime; // 0x7dc // MNetworkEnable GameTime_t m_flStartTime; // 0x7e0 // MNetworkEnable float m_flStartTimeInCommentary; // 0x7e4 // MNetworkEnable CUtlSymbolLarge m_iszCommentaryFile; // 0x7e8 // MNetworkEnable CUtlSymbolLarge m_iszTitle; // 0x7f0 // MNetworkEnable CUtlSymbolLarge m_iszSpeakers; // 0x7f8 // MNetworkEnable int32_t m_iNodeNumber; // 0x800 // MNetworkEnable int32_t m_iNodeNumberMax; // 0x804 // MNetworkEnable bool m_bListenedTo; // 0x808 private: [[maybe_unused]] uint8_t __pad0809[0xf]; // 0x809 public: // MNetworkEnable CHandle< C_BaseEntity > m_hViewPosition; // 0x818 bool m_bRestartAfterRestore; // 0x81c }; // Alignment: 1 // Size: 0x7b0 class C_BaseDoor : public C_BaseToggle { public: // MNetworkEnable bool m_bIsUsable; // 0x7a8 }; // Alignment: 16 // Size: 0x950 class C_BaseFlex : public C_BaseAnimatingOverlay { private: [[maybe_unused]] uint8_t __pad07d0[0x8]; // 0x7d0 public: // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0x7d8 // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "OnViewTargetChanged" Vector m_vLookTargetPosition; // 0x7f0 private: [[maybe_unused]] uint8_t __pad07fc[0xc]; // 0x7fc public: // MNetworkEnable bool m_blinktoggle; // 0x808 private: [[maybe_unused]] uint8_t __pad0809[0x5f]; // 0x809 public: int32_t m_nLastFlexUpdateFrameCount; // 0x868 Vector m_CachedViewTarget; // 0x86c uint32_t m_nNextSceneEventId; // 0x878 int32_t m_iBlink; // 0x87c float m_blinktime; // 0x880 bool m_prevblinktoggle; // 0x884 AttachmentHandle_t m_iMouthAttachment; // 0x885 AttachmentHandle_t m_iEyeAttachment; // 0x886 bool m_bResetFlexWeightsOnModelChange; // 0x887 private: [[maybe_unused]] uint8_t __pad0888[0x18]; // 0x888 public: int32_t m_nEyeOcclusionRendererBone; // 0x8a0 matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0x8a4 Vector m_vEyeOcclusionRendererHalfExtent; // 0x8d4 private: [[maybe_unused]] uint8_t __pad08e0[0x10]; // 0x8e0 public: C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0x8f0 }; // Alignment: 14 // Size: 0xa48 class C_ClientRagdoll : public CBaseAnimGraph { public: bool m_bFadeOut; // 0x9b0 bool m_bImportant; // 0x9b1 private: [[maybe_unused]] uint8_t __pad09b2[0x2]; // 0x9b2 public: GameTime_t m_flEffectTime; // 0x9b4 GameTime_t m_gibDespawnTime; // 0x9b8 int32_t m_iCurrentFriction; // 0x9bc int32_t m_iMinFriction; // 0x9c0 int32_t m_iMaxFriction; // 0x9c4 int32_t m_iFrictionAnimState; // 0x9c8 bool m_bReleaseRagdoll; // 0x9cc AttachmentHandle_t m_iEyeAttachment; // 0x9cd bool m_bFadingOut; // 0x9ce private: [[maybe_unused]] uint8_t __pad09cf[0x1]; // 0x9cf public: float m_flScaleEnd[10]; // 0x9d0 GameTime_t m_flScaleTimeStart[10]; // 0x9f8 GameTime_t m_flScaleTimeEnd[10]; // 0xa20 }; // Alignment: 1 // Size: 0x928 class C_PhysicsProp : public C_BreakableProp { public: // MNetworkEnable bool m_bAwake; // 0x920 }; // Alignment: 7 // Size: 0xa88 class C_BasePropDoor : public C_DynamicProp { private: [[maybe_unused]] uint8_t __pad0a48[0x10]; // 0xa48 public: // MNetworkEnable DoorState_t m_eDoorState; // 0xa58 bool m_modelChanged; // 0xa5c // MNetworkEnable bool m_bLocked; // 0xa5d private: [[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e public: // MNetworkEnable Vector m_closedPosition; // 0xa60 // MNetworkEnable QAngle m_closedAngles; // 0xa6c // MNetworkEnable CHandle< C_BasePropDoor > m_hMaster; // 0xa78 Vector m_vWhereToSetLightingOrigin; // 0xa7c }; // Alignment: 12 // Size: 0x958 class C_PhysPropClientside : public C_BreakableProp { public: GameTime_t m_flTouchDelta; // 0x920 GameTime_t m_fDeathTime; // 0x924 float m_impactEnergyScale; // 0x928 float m_inertiaScale; // 0x92c float m_flDmgModBullet; // 0x930 float m_flDmgModClub; // 0x934 float m_flDmgModExplosive; // 0x938 float m_flDmgModFire; // 0x93c CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x940 CUtlSymbolLarge m_iszBasePropData; // 0x948 int32_t m_iInteractions; // 0x950 bool m_bHasBreakPiecesOrCommands; // 0x954 }; // Alignment: 8 // Size: 0xa28 class C_RagdollProp : public CBaseAnimGraph { private: [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 public: // MNetworkEnable // MNetworkEncoder // MNetworkChangeCallback "ragAnglesChanged" C_NetworkUtlVectorBase< Vector > m_ragPos; // 0x9b8 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" // MNetworkChangeCallback "ragAnglesChanged" C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9d0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0.000000" // MNetworkMaxValue "1.000000" // MNetworkEncodeFlags float m_flBlendWeight; // 0x9e8 // MNetworkEnable CHandle< C_BaseEntity > m_hRagdollSource; // 0x9ec AttachmentHandle_t m_iEyeAttachment; // 0x9f0 private: [[maybe_unused]] uint8_t __pad09f1[0x3]; // 0x9f1 public: float m_flBlendWeightCurrent; // 0x9f4 CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0x9f8 CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa10 }; // Alignment: 25 // Size: 0x890 class C_LocalTempEntity : public CBaseAnimatingActivity { private: [[maybe_unused]] uint8_t __pad07d0[0x18]; // 0x7d0 public: int32_t flags; // 0x7e8 GameTime_t die; // 0x7ec float m_flFrameMax; // 0x7f0 float x; // 0x7f4 float y; // 0x7f8 float fadeSpeed; // 0x7fc float bounceFactor; // 0x800 int32_t hitSound; // 0x804 int32_t priority; // 0x808 Vector tentOffset; // 0x80c QAngle m_vecTempEntAngVelocity; // 0x818 int32_t tempent_renderamt; // 0x824 Vector m_vecNormal; // 0x828 float m_flSpriteScale; // 0x834 int32_t m_nFlickerFrame; // 0x838 float m_flFrameRate; // 0x83c float m_flFrame; // 0x840 private: [[maybe_unused]] uint8_t __pad0844[0x4]; // 0x844 public: char* m_pszImpactEffect; // 0x848 char* m_pszParticleEffect; // 0x850 bool m_bParticleCollision; // 0x858 private: [[maybe_unused]] uint8_t __pad0859[0x3]; // 0x859 public: int32_t m_iLastCollisionFrame; // 0x85c Vector m_vLastCollisionOrigin; // 0x860 Vector m_vecTempEntVelocity; // 0x86c Vector m_vecPrevAbsOrigin; // 0x878 Vector m_vecTempEntAcceleration; // 0x884 }; // Alignment: 1 // Size: 0x800 class C_PointHintUIButtonHighlightModel : public CBaseAnimatingActivity { public: matrix3x4_t m_mComponentTransform; // 0x7d0 }; // Alignment: 1 // Size: 0x800 class C_PointHintUIArrowHighlightModel : public CBaseAnimatingActivity { public: matrix3x4_t m_mArrowLocalTransform; // 0x7d0 }; // Alignment: 4 // Size: 0x868 class C_PointHintUIHighlightModel : public CBaseAnimatingActivity { private: [[maybe_unused]] uint8_t __pad07d0[0x30]; // 0x7d0 public: CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0x800 int32_t m_nTrackedDeviceIndex; // 0x818 private: [[maybe_unused]] uint8_t __pad081c[0x14]; // 0x81c public: matrix3x4_t m_matLocalHighlight; // 0x830 bool m_bVisible; // 0x860 }; // Alignment: 12 // Size: 0xad8 class C_EconEntity : public C_BaseFlex { private: [[maybe_unused]] uint8_t __pad0950[0x10]; // 0x950 public: // MNetworkEnable CAttributeContainer m_AttributeManager; // 0x960 bool m_bClientside; // 0xa88 private: [[maybe_unused]] uint8_t __pad0a89[0x3]; // 0xa89 public: EconEntityParticleDisableMode_t m_nDisableMode; // 0xa8c bool m_bParticleSystemsCreated; // 0xa90 bool m_bForceDestroyAttachedParticlesImmediately; // 0xa91 private: [[maybe_unused]] uint8_t __pad0a92[0x6]; // 0xa92 public: CUtlVector< C_EconEntity::AttachedParticleInfo_t > m_vecAttachedParticles; // 0xa98 CHandle< CBaseAnimatingActivity > m_hViewmodelAttachment; // 0xab0 int32_t m_iOldTeam; // 0xab4 bool m_bAttachmentDirty; // 0xab8 style_index_t m_iOldStyle; // 0xab9 private: [[maybe_unused]] uint8_t __pad0aba[0x2]; // 0xaba public: CHandle< C_BaseEntity > m_hOldProvidee; // 0xabc CUtlVector< C_EconEntity::AttachedModelData_t > m_vecAttachedModels; // 0xac0 }; // Alignment: 0 // Size: 0xae0 class C_EconWearable : public C_EconEntity { public: // No members available }; // Alignment: 0 // Size: 0xae0 class C_TFWearableItem : public C_EconWearable { public: // No members available }; // Alignment: 2 // Size: 0xa58 class C_DynamicPropClientside : public C_DynamicProp { private: [[maybe_unused]] uint8_t __pad0a48[0x8]; // 0xa48 public: bool m_bSetupMaterialProxy; // 0xa50 bool m_bNoInterpolate; // 0xa51 }; // Alignment: 0 // Size: 0xa48 class C_DynamicPropClientFadeOut : public C_DynamicProp { public: // No members available }; // Alignment: 7 // Size: 0xc38 class C_PlayerCosmeticPropClientside : public C_DynamicPropClientside { public: int32_t m_iPlayerNum; // 0xa58 int32_t m_iCosmeticType; // 0xa5c char m_szProxyTextureName[260]; // 0xa60 private: [[maybe_unused]] uint8_t __pad0b64[0x4]; // 0xb64 public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hProxyTexture; // 0xb68 private: [[maybe_unused]] uint8_t __pad0b70[0xa0]; // 0xb70 public: bool m_bGeneratedShowcaseProps; // 0xc10 private: [[maybe_unused]] uint8_t __pad0c11[0x7]; // 0xc11 public: CUtlVector< C_PlayerCosmeticPropClientside* > m_vecShowcaseProps; // 0xc18 C_EconItemView* m_pShowcaseItem; // 0xc30 }; // Alignment: 2 // Size: 0x898 class CDOTA_Item_Tombstone_Drop : public C_DOTA_Item_Physical { public: int32_t m_iTempViewer; // 0x890 int32_t m_iTeam; // 0x894 }; // Alignment: 1 // Size: 0xa50 class CDOTAPropAghsfortArenaOfBloodWarrior : public C_DynamicProp { public: bool m_bDying; // 0xa48 }; // Alignment: 1 // Size: 0xa50 class CDOTAPropArenaOfBloodWarrior : public C_DynamicProp { public: bool m_bDying; // 0xa48 }; // Alignment: 0 // Size: 0x648 class C_DOTA_Item_Tier1Token : public C_DOTA_Item_TierToken { public: // No members available }; // Alignment: 0 // Size: 0x648 class C_DOTA_Item_Tier2Token : public C_DOTA_Item_TierToken { public: // No members available }; // Alignment: 0 // Size: 0x648 class C_DOTA_Item_Tier3Token : public C_DOTA_Item_TierToken { public: // No members available }; // Alignment: 0 // Size: 0x648 class C_DOTA_Item_Tier4Token : public C_DOTA_Item_TierToken { public: // No members available }; // Alignment: 0 // Size: 0x648 class C_DOTA_Item_Tier5Token : public C_DOTA_Item_TierToken { public: // No members available }; // Alignment: 0 // Size: 0xa48 class CAdditionalWearable : public C_DynamicProp { public: // No members available }; // Alignment: 14 // Size: 0xb28 class C_DOTAWearableItem : public C_EconWearable { public: // MNetworkEnable bool m_bOwnerModelChanged; // 0xae0 // MNetworkEnable bool m_bIsGeneratingEconItem; // 0xae1 // MNetworkEnable bool m_bIsItemVisibleOnGeneratedEntity; // 0xae2 // MNetworkEnable // MNetworkChangeCallback "OnHideWearableButDrawAdditionalWearablesChanged" bool m_bHideWearableButDrawAdditionalWearables; // 0xae3 // MNetworkEnable CHandle< CBaseAnimatingActivity > m_hAdditionalWearable; // 0xae4 CHandle< C_DOTAWearableItem > m_hDrawWearable; // 0xae8 bool m_bHiddenByCombiner; // 0xaec bool m_bHiddenByEquipmentSlot; // 0xaed bool m_bIsPortrait; // 0xaee private: [[maybe_unused]] uint8_t __pad0aef[0x1]; // 0xaef public: float m_fZDelta; // 0xaf0 private: [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 public: CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0xaf8 private: [[maybe_unused]] uint8_t __pad0b10[0x8]; // 0xb10 public: bool m_bCombinerMaterialOverrideListChanged; // 0xb18 bool m_bRubickFollower; // 0xb19 bool m_bHasPlayerModel; // 0xb1a }; // Alignment: 0 // Size: 0x530 class C_InfoPlayerStartGoodGuys : public C_InfoPlayerStartDota { public: // No members available }; // Alignment: 0 // Size: 0x530 class C_InfoPlayerStartBadGuys : public C_InfoPlayerStartDota { public: // No members available }; // Alignment: 1 // Size: 0x7f8 class CAmbientCreatures : public C_DOTAWorldParticleSystem { public: CUtlString m_szAnimationName; // 0x7f0 }; // Alignment: 0 // Size: 0xa48 class C_PortraitWorldPet : public C_DynamicProp { public: // No members available }; // Alignment: 2 // Size: 0xa60 class C_DOTAPropCustomTexture : public C_DynamicProp { public: // MNetworkEnable uint32_t m_unTeamID; // 0xa48 private: [[maybe_unused]] uint8_t __pad0a4c[0xc]; // 0xa4c public: bool m_bSetupMaterialProxy; // 0xa58 }; // Alignment: 3 // Size: 0xab8 class CDOTAPropConsumableBanner : public C_DynamicProp { private: [[maybe_unused]] uint8_t __pad0a48[0x58]; // 0xa48 public: PlayerID_t m_nPlayerID; // 0xaa0 private: [[maybe_unused]] uint8_t __pad0aa4[0x4]; // 0xaa4 public: CStrongHandle< InfoForResourceTypeCTextureBase > m_hAvatarTexture; // 0xaa8 // MNetworkEnable bool m_bUseAvatar; // 0xab0 }; // Alignment: 11 // Size: 0xaa0 class C_DOTA_GuildBannerDynamic : public C_DynamicProp { public: // MNetworkEnable bool m_bRespawnClientEntity; // 0xa48 // MNetworkEnable bool m_bPlaySpawnAnimation; // 0xa49 // MNetworkEnable uint8_t m_unGuildTier; // 0xa4a // MNetworkEnable uint8_t m_unPrimaryColor; // 0xa4b // MNetworkEnable uint8_t m_unSecondaryColor; // 0xa4c // MNetworkEnable uint8_t m_unPattern; // 0xa4d private: [[maybe_unused]] uint8_t __pad0a4e[0x2]; // 0xa4e public: // MNetworkEnable uint64_t m_unLogo; // 0xa50 // MNetworkEnable GuildID_t m_unGuildID; // 0xa58 // MNetworkEnable uint32_t m_unGuildFlags; // 0xa5c // MNetworkEnable bool m_bUsePanelCache; // 0xa60 private: [[maybe_unused]] uint8_t __pad0a61[0x3]; // 0xa61 public: CHandle< C_BaseEntity > m_hClientEntity; // 0xa64 }; // Alignment: 0 // Size: 0xa90 class C_DOTA_GuildBannerProp : public C_DynamicProp { public: // No members available }; // Alignment: 7 // Size: 0xa60 class C_RagdollPropAttached : public C_RagdollProp { public: // MNetworkEnable uint32_t m_boneIndexAttached; // 0xa28 // MNetworkEnable uint32_t m_ragdollAttachedObjectIndex; // 0xa2c // MNetworkEnable // MNetworkEncoder Vector m_attachmentPointBoneSpace; // 0xa30 // MNetworkEnable // MNetworkEncoder Vector m_attachmentPointRagdollSpace; // 0xa3c Vector m_vecOffset; // 0xa48 float m_parentTime; // 0xa54 bool m_bHasParent; // 0xa58 }; // Alignment: 8 // Size: 0x9e0 class C_BaseCombatCharacter : public C_BaseFlex { public: // MNetworkEnable // MNetworkChangeCallback "OnWearablesChanged" C_NetworkUtlVectorBase< CHandle< C_EconWearable > > m_hMyWearables; // 0x950 int32_t m_bloodColor; // 0x968 AttachmentHandle_t m_leftFootAttachment; // 0x96c AttachmentHandle_t m_rightFootAttachment; // 0x96d private: [[maybe_unused]] uint8_t __pad096e[0x2]; // 0x96e public: C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0x970 float m_flWaterWorldZ; // 0x974 float m_flWaterNextTraceTime; // 0x978 // MNetworkEnable float m_flFieldOfView; // 0x97c }; // Alignment: 23 // Size: 0xb10 class C_BasePlayerPawn : public C_BaseCombatCharacter { public: // MNetworkEnable CPlayer_WeaponServices* m_pWeaponServices; // 0x9e0 // MNetworkEnable CPlayer_ItemServices* m_pItemServices; // 0x9e8 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CPlayer_AutoaimServices* m_pAutoaimServices; // 0x9f0 // MNetworkEnable CPlayer_ObserverServices* m_pObserverServices; // 0x9f8 // MNetworkEnable CPlayer_WaterServices* m_pWaterServices; // 0xa00 // MNetworkEnable CPlayer_UseServices* m_pUseServices; // 0xa08 // MNetworkEnable CPlayer_FlashlightServices* m_pFlashlightServices; // 0xa10 // MNetworkEnable CPlayer_CameraServices* m_pCameraServices; // 0xa18 // MNetworkEnable CPlayer_MovementServices* m_pMovementServices; // 0xa20 private: [[maybe_unused]] uint8_t __pad0a28[0x8]; // 0xa28 public: QAngle v_angle; // 0xa30 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" uint32_t m_iHideHUD; // 0xa3c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" sky3dparams_t m_skybox3d; // 0xa40 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" GameTime_t m_flDeathTime; // 0xad0 Vector m_vecPredictionError; // 0xad4 GameTime_t m_flPredictionErrorTime; // 0xae0 float m_flFOVSensitivityAdjust; // 0xae4 float m_flMouseSensitivity; // 0xae8 Vector m_vOldOrigin; // 0xaec float m_flOldSimulationTime; // 0xaf8 int32_t m_nLastExecutedCommandNumber; // 0xafc int32_t m_nLastExecutedCommandTick; // 0xb00 // MNetworkEnable // MNetworkChangeCallback "OnControllerChanged" CHandle< CBasePlayerController > m_hController; // 0xb04 bool m_bIsSwappingToPredictableController; // 0xb08 }; // Alignment: 0 // Size: 0xb28 class C_DOTA_Tiny_ScepterTree : public C_DOTAWearableItem { public: // No members available }; // Alignment: 0 // Size: 0xb10 class CDOTAPlayerPawn : public C_BasePlayerPawn { public: // No members available }; // Alignment: 1 // Size: 0xaa8 class CDOTAPropTI10PlayerGuildBanner : public C_DOTA_GuildBannerDynamic { public: // MNetworkEnable int32_t m_nPlayerID; // 0xaa0 }; // Alignment: 1 // Size: 0xaa8 class CDOTAPropPlusPlayerGuildBanner : public C_DOTA_GuildBannerDynamic { public: // MNetworkEnable int32_t m_nPlayerID; // 0xaa0 }; // Alignment: 5 // Size: 0xa08 class C_NextBotCombatCharacter : public C_BaseCombatCharacter { public: CountdownTimer m_shadowTimer; // 0x9e0 bool m_bInFrustum; // 0x9f8 private: [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 public: int32_t m_nInFrustumFrame; // 0x9fc float m_flFrustumDistanceSqr; // 0xa00 // MNetworkEnable uint8_t m_nLod; // 0xa04 }; // Alignment: 0 // Size: 0x9e0 class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter { public: // No members available }; // Alignment: 186 // Size: 0x16f8 class C_DOTA_BaseNPC : public C_NextBotCombatCharacter { private: [[maybe_unused]] uint8_t __pad0a08[0x10]; // 0xa08 public: // MNetworkEnable bool m_bIsPhantom; // 0xa18 private: [[maybe_unused]] uint8_t __pad0a19[0x3]; // 0xa19 public: uint32_t m_iUnitType; // 0xa1c private: [[maybe_unused]] uint8_t __pad0a20[0x10]; // 0xa20 public: // MNetworkEnable bool m_bSelectionRingVisible; // 0xa30 private: [[maybe_unused]] uint8_t __pad0a31[0x3]; // 0xa31 public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iCurrentLevel; // 0xa34 // MNetworkEnable bool m_bIsAncient; // 0xa38 // MNetworkEnable bool m_bIsBossCreature; // 0xa39 // MNetworkEnable bool m_bStolenScepter; // 0xa3a // MNetworkEnable bool m_bIsNeutralUnitType; // 0xa3b bool m_bSelectOnSpawn; // 0xa3c bool m_bCachedReplicatedMorphlingIllusion; // 0xa3d bool m_bIgnoreAddSummonedToSelection; // 0xa3e bool m_bConsideredHero; // 0xa3f bool m_bUsesConstantGesture; // 0xa40 bool m_bUseHeroAbilityNumbers; // 0xa41 bool m_bHasSharedAbilities; // 0xa42 // MNetworkEnable bool m_bIsSummoned; // 0xa43 // MNetworkEnable bool m_bCanBeDominated; // 0xa44 // MNetworkEnable bool m_bHasUpgradeableAbilities; // 0xa45 private: [[maybe_unused]] uint8_t __pad0a46[0x2]; // 0xa46 public: // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" float m_flHealthThinkRegen; // 0xa48 private: [[maybe_unused]] uint8_t __pad0a4c[0x4]; // 0xa4c public: // MNetworkEnable uint64_t m_iIsControllableByPlayer64; // 0xa50 // MNetworkEnable int32_t m_nHealthBarOffsetOverride; // 0xa58 // MNetworkEnable bool m_bCanRespawn; // 0xa5c private: [[maybe_unused]] uint8_t __pad0a5d[0x3]; // 0xa5d public: int32_t m_iAttackRange; // 0xa60 Color m_colorGemColor; // 0xa64 bool m_bHasColorGem; // 0xa68 private: [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 public: ParticleIndex_t m_nFXDeniableIndex; // 0xa6c // MNetworkEnable int32_t m_iMoveSpeed; // 0xa70 int32_t m_iBaseAttackSpeed; // 0xa74 float m_flBaseAttackTime; // 0xa78 // MNetworkEnable // MNetworkChangeCallback "OnUnitNameIndexChanged" int32_t m_iUnitNameIndex; // 0xa7c int32_t m_iHealthBarOffset; // 0xa80 Color m_iHealthBarHighlightColor; // 0xa84 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" float m_flMana; // 0xa88 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0.000000" // MNetworkMaxValue "65536.000000" float m_flMaxMana; // 0xa8c // MNetworkEnable // MNetworkBitCount "14" // MNetworkMinValue "-50.000000" // MNetworkMaxValue "500.000000" float m_flManaThinkRegen; // 0xa90 // MNetworkEnable int32_t m_iBKBChargesUsed; // 0xa94 // MNetworkEnable int32_t m_iAeonChargesUsed; // 0xa98 // MNetworkEnable GameTime_t m_flRefresherUseTime; // 0xa9c // MNetworkEnable float m_flRefresherLastCooldown; // 0xaa0 // MNetworkEnable GameTime_t m_flLastDealtDamageTime; // 0xaa4 // MNetworkEnable int32_t m_iBotDebugData; // 0xaa8 // MNetworkEnable bool m_bIsIllusion; // 0xaac bool m_bHasClientSeenIllusionModifier; // 0xaad private: [[maybe_unused]] uint8_t __pad0aae[0x2]; // 0xaae public: // MNetworkEnable // MNetworkPriority "32" CHandle< C_BaseEntity > m_hAbilities[35]; // 0xab0 float m_flInvisibilityLevel; // 0xb3c float m_flHullRadius; // 0xb40 float m_flCollisionPadding; // 0xb44 float m_flRingRadius; // 0xb48 float m_flProjectileCollisionSize; // 0xb4c CUtlSymbolLarge m_iszUnitName; // 0xb50 CUtlSymbolLarge m_iszParticleFolder; // 0xb58 CUtlSymbolLarge m_iszSoundSet; // 0xb60 CUtlSymbolLarge m_iszSelectionGroup; // 0xb68 CUtlSymbolLarge m_iszVoiceFile; // 0xb70 CUtlSymbolLarge m_iszGameSoundsFile; // 0xb78 CUtlSymbolLarge m_iszVoiceBackgroundSound; // 0xb80 CUtlSymbolLarge m_iszIdleSoundLoop; // 0xb88 // MNetworkEnable CUtlString m_szUnitLabel; // 0xb90 // MNetworkEnable CUtlString m_szScaleset; // 0xb98 // MNetworkEnable uint8_t m_nUnitLabelIndex; // 0xba0 private: [[maybe_unused]] uint8_t __pad0ba1[0x7]; // 0xba1 public: CUtlString m_strAnimationModifier; // 0xba8 CUtlString m_TerrainSpecificFootstepEffect; // 0xbb0 bool m_bUseCustomTerrainWeatherEffect; // 0xbb8 bool m_bHasClientSoundReplacement; // 0xbb9 bool m_bHasClientReplacementParticle; // 0xbba private: [[maybe_unused]] uint8_t __pad0bbb[0x9]; // 0xbbb public: bool m_bResourcesLoaded; // 0xbc4 private: [[maybe_unused]] uint8_t __pad0bc5[0x3]; // 0xbc5 public: // MNetworkEnable GameTime_t m_flTauntCooldown; // 0xbc8 // MNetworkEnable GameTime_t m_flTauntCooldown2; // 0xbcc // MNetworkEnable DOTA_SHOP_TYPE m_iCurShop; // 0xbd0 private: [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 public: // MNetworkEnable CUtlSymbolLarge m_szCurShopEntName; // 0xbd8 // MNetworkEnable int32_t m_iDayTimeVisionRange; // 0xbe0 // MNetworkEnable int32_t m_iNightTimeVisionRange; // 0xbe4 // MNetworkEnable // MNetworkChangeCallback "OnDamageMinChanged" int32_t m_iDamageMin; // 0xbe8 // MNetworkEnable // MNetworkChangeCallback "OnDamageMaxChanged" int32_t m_iDamageMax; // 0xbec // MNetworkEnable int32_t m_iDamageBonus; // 0xbf0 // MNetworkEnable // MNetworkPriority "32" int32_t m_iTaggedAsVisibleByTeam; // 0xbf4 // MNetworkEnable CDOTA_ModifierManager m_ModifierManager; // 0xbf8 // MNetworkEnable C_DOTA_UnitInventory m_Inventory; // 0xe70 private: [[maybe_unused]] uint8_t __pad0f20[0x8]; // 0xf20 public: // MNetworkEnable // MNetworkChangeCallback "OnUnitStateChanged" // MNetworkPriority "32" uint64_t m_nUnitState64; // 0xf28 private: [[maybe_unused]] uint8_t __pad0f30[0x8]; // 0xf30 public: uint64_t m_nUnitDebuffState; // 0xf38 bool m_bHasInventory; // 0xf40 private: [[maybe_unused]] uint8_t __pad0f41[0x3]; // 0xf41 public: int32_t m_iAcquisitionRange; // 0xf44 int32_t m_FoWViewID; // 0xf48 int32_t m_iPrevHealthPct; // 0xf4c int32_t m_iPrevLifeState; // 0xf50 int32_t m_iPrevTeam; // 0xf54 bool m_bPrevProvidesVision; // 0xf58 private: [[maybe_unused]] uint8_t __pad0f59[0x7]; // 0xf59 public: uint64_t m_nPrevControllableMask; // 0xf60 private: [[maybe_unused]] uint8_t __pad0f68[0x8]; // 0xf68 public: CountdownTimer m_TagTime; // 0xf70 CountdownTimer m_ClickedTime; // 0xf88 GameTime_t m_flIdleRunPoseStartTime[2]; // 0xfa0 float m_flIdleRunPoseDuration[2]; // 0xfa8 bool m_bAnimationTransitionActive; // 0xfb0 private: [[maybe_unused]] uint8_t __pad0fb1[0x3]; // 0xfb1 public: int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfb4 int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfbc int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xfc4 private: [[maybe_unused]] uint8_t __pad0fcc[0x5c]; // 0xfcc public: GameTime_t m_flTimeSinceLastAbilityNag; // 0x1028 // MNetworkEnable // MNetworkPriority "32" int32_t m_iAttackCapabilities; // 0x102c // MNetworkEnable // MNetworkPriority "32" int32_t m_iSpecialAbility; // 0x1030 int32_t m_iMoveCapabilities; // 0x1034 // MNetworkEnable PlayerID_t m_nPlayerOwnerID; // 0x1038 // MNetworkEnable GameTime_t m_flLastDamageTime; // 0x103c // MNetworkEnable GameTime_t m_flLastAttackTime; // 0x1040 private: [[maybe_unused]] uint8_t __pad1044[0x4]; // 0x1044 public: CUtlSymbolLarge m_iszMinimapIcon; // 0x1048 private: [[maybe_unused]] uint8_t __pad1050[0x8]; // 0x1050 public: float m_flMinimapIconSize; // 0x1058 bool m_bMinimapDisableTint; // 0x105c bool m_bMinimapDisableRotation; // 0x105d Color m_colorHeroGlow; // 0x105e private: [[maybe_unused]] uint8_t __pad1062[0x2]; // 0x1062 public: int32_t m_iNearShopMask; // 0x1064 int32_t m_nPoseParameterTurn; // 0x1068 int32_t m_nPoseParameterRun; // 0x106c float m_flLean; // 0x1070 float m_flRun; // 0x1074 // MNetworkEnable // MNetworkPriority "32" int32_t m_anglediff; // 0x1078 bool m_bInfoKeyActive; // 0x107c bool m_bNewUpdateAssetModifiersNetworked; // 0x107d private: [[maybe_unused]] uint8_t __pad107e[0x2]; // 0x107e public: GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1080 bool m_bSuppressGlow; // 0x1084 bool m_bWasSinking; // 0x1085 private: [[maybe_unused]] uint8_t __pad1086[0x2]; // 0x1086 public: float m_flRangeDisplayDist; // 0x1088 private: [[maybe_unused]] uint8_t __pad108c[0x1bc]; // 0x108c public: CUtlSymbolLarge m_szDefaultIdle; // 0x1248 CUtlSymbolLarge m_szDefaultRareIdle; // 0x1250 CountdownTimer m_damagetimer; // 0x1258 Vector m_vRenderOrigin; // 0x1270 float m_fZDelta; // 0x127c GameTime_t m_flDeathTime; // 0x1280 bool m_bBaseStatsChanged; // 0x1284 bool m_bNeedsSoundEmitterRefresh; // 0x1285 private: [[maybe_unused]] uint8_t __pad1286[0x2]; // 0x1286 public: // MNetworkEnable float m_flPhysicalArmorValue; // 0x1288 // MNetworkEnable float m_flMagicalResistanceValue; // 0x128c int32_t m_nPrevSequenceParity; // 0x1290 private: [[maybe_unused]] uint8_t __pad1294[0xa4]; // 0x1294 public: float m_flPrevInvisLevel; // 0x1338 private: [[maybe_unused]] uint8_t __pad133c[0x4]; // 0x133c public: CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x1340 CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x1348 CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x1350 bool m_bClientReplacementModelNeedsRebuild; // 0x1358 private: [[maybe_unused]] uint8_t __pad1359[0x3]; // 0x1359 public: int32_t m_nClientReplacementModelReloadCount; // 0x135c // MNetworkEnable // MNetworkChangeCallback "OnUnitModelVariantChanged" int8_t m_nUnitModelVariant; // 0x1360 int8_t m_nUnitModelVariantCount; // 0x1361 private: [[maybe_unused]] uint8_t __pad1362[0x2]; // 0x1362 public: int32_t m_iPrevSequence; // 0x1364 char* m_pLastWeatherEffectName; // 0x1368 private: [[maybe_unused]] uint8_t __pad1370[0x8]; // 0x1370 public: CountdownTimer m_VoiceBackgroundSoundTimer; // 0x1378 // MNetworkEnable bool m_bIsWaitingToSpawn; // 0x1390 private: [[maybe_unused]] uint8_t __pad1391[0x7]; // 0x1391 public: // MNetworkEnable int64_t m_nTotalDamageTaken; // 0x1398 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" float m_flManaRegen; // 0x13a0 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "-100.000000" // MNetworkMaxValue "1000.000000" float m_flHealthRegen; // 0x13a4 // MNetworkEnable bool m_bIsMoving; // 0x13a8 private: [[maybe_unused]] uint8_t __pad13a9[0x3]; // 0x13a9 public: // MNetworkEnable float m_fRevealRadius; // 0x13ac // MNetworkEnable bool m_bCanUseWards; // 0x13b0 // MNetworkEnable bool m_bCanUseAllItems; // 0x13b1 private: [[maybe_unused]] uint8_t __pad13b2[0x2]; // 0x13b2 public: // MNetworkEnable int32_t m_iXPBounty; // 0x13b4 // MNetworkEnable int32_t m_iXPBountyExtra; // 0x13b8 // MNetworkEnable int32_t m_iGoldBountyMin; // 0x13bc // MNetworkEnable int32_t m_iGoldBountyMax; // 0x13c0 // MNetworkEnable CHandle< C_BaseEntity > m_hGoalEntity; // 0x13c4 // MNetworkEnable CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x13c8 private: [[maybe_unused]] uint8_t __pad13cc[0x4]; // 0x13cc public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x13d0 bool m_bCombinerMaterialOverrideListChanged; // 0x13d8 private: [[maybe_unused]] uint8_t __pad13d9[0x3]; // 0x13d9 public: int32_t m_nBaseModelMeshCount; // 0x13dc CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x13e0 int8_t m_nArcanaLevel; // 0x13f8 int8_t m_nDefaultArcanaLevel; // 0x13f9 Color m_defaultColorGemColor; // 0x13fa private: [[maybe_unused]] uint8_t __pad13fe[0x1a]; // 0x13fe public: bool m_bHasBuiltWearableSpawnList; // 0x1418 bool m_bHasCostume; // 0x1419 private: [[maybe_unused]] uint8_t __pad141a[0x11e]; // 0x141a public: // MNetworkEnable // MNetworkPriority "32" int32_t m_NetworkActivity; // 0x1538 int32_t m_PrevNetworkActivity; // 0x153c // MNetworkEnable // MNetworkPriority "32" int32_t m_NetworkSequenceIndex; // 0x1540 // MNetworkEnable bool m_bShouldDoFlyHeightVisual; // 0x1544 private: [[maybe_unused]] uint8_t __pad1545[0x3]; // 0x1545 public: // MNetworkEnable float m_flStartSequenceCycle; // 0x1548 private: [[maybe_unused]] uint8_t __pad154c[0x4]; // 0x154c public: CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1550 CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x1568 CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x156c private: [[maybe_unused]] uint8_t __pad1570[0x10]; // 0x1570 public: CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x1580 CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x1598 // MNetworkEnable char m_CustomHealthLabel[256]; // 0x15b0 // MNetworkEnable Color m_CustomHealthLabelColor; // 0x16b0 item_definition_index_t m_nWearableDefIndex; // 0x16b4 private: [[maybe_unused]] uint8_t __pad16b8[0x1]; // 0x16b8 public: Color m_gibTintColor; // 0x16b9 bool m_bForceMaterialCombine; // 0x16bd bool m_bShouldDrawParticlesWhileHidden; // 0x16be bool m_bIsClientThinkPending; // 0x16bf bool m_bActivityModifiersDirty; // 0x16c0 bool m_bUnitModelVariantChanged; // 0x16c1 bool m_bWearablesAreTaunting; // 0x16c2 private: [[maybe_unused]] uint8_t __pad16c3[0x15]; // 0x16c3 public: bool m_bShowCannotBeDisabledIcon; // 0x16d8 }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_BaseNPC_Additive : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 16 // Size: 0x1760 class C_DOTA_BaseNPC_Building : public C_DOTA_BaseNPC { public: // MNetworkEnable int32_t m_iDamageLevel; // 0x16f8 ParticleIndex_t m_nAmbientFXIndex; // 0x16fc ParticleIndex_t m_nTPFXIndex; // 0x1700 ParticleIndex_t m_nStatusFXIndex; // 0x1704 // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1708 // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1710 // MNetworkEnable QAngle m_angInitialAngles; // 0x1718 // MNetworkEnable HSequence m_hHeroStatueSequence; // 0x1724 // MNetworkEnable HSequence m_hConstantLayerSequence; // 0x1728 // MNetworkEnable float m_fHeroStatueCycle; // 0x172c // MNetworkEnable int32_t m_iHeroStatueStatusEffectIndex; // 0x1730 // MNetworkEnable bool m_bHeroStatue; // 0x1734 // MNetworkEnable bool m_bBattleCup; // 0x1735 // MNetworkEnable char m_HeroStatueInscription[32]; // 0x1736 private: [[maybe_unused]] uint8_t __pad1756[0x2]; // 0x1756 public: // MNetworkEnable PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1758 // MNetworkEnable Color m_ParticleTintColor; // 0x175c }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Filler : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 3 // Size: 0x1778 class C_DOTA_BaseNPC_Watch_Tower : public C_DOTA_BaseNPC_Building { public: ParticleIndex_t m_iRangeFX; // 0x1760 private: [[maybe_unused]] uint8_t __pad1764[0x4]; // 0x1764 public: // MNetworkEnable CUtlSymbolLarge m_szOutpostName; // 0x1768 // MNetworkEnable CUtlSymbolLarge m_szInteractAbilityName; // 0x1770 }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_MangoTree : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_BaseBlocker : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 5 // Size: 0x1780 class C_DOTA_NPC_Lantern : public C_DOTA_BaseNPC_Building { public: // MNetworkEnable CUtlSymbolLarge m_szInteractAbilityName; // 0x1760 CNewParticleEffect* m_pVisionRangeFX; // 0x1768 ParticleIndex_t m_iFxIndex; // 0x1770 int32_t m_nPreviewViewer; // 0x1774 int32_t m_nTeamNumberShown; // 0x1778 }; // Alignment: 1 // Size: 0x1768 class C_DOTA_BaseNPC_Healer : public C_DOTA_BaseNPC_Building { public: ParticleIndex_t m_iRangeFX; // 0x1760 }; // Alignment: 8 // Size: 0x17a0 class C_DOTA_BaseNPC_Tower : public C_DOTA_BaseNPC_Building { public: ParticleIndex_t m_iRangeFX; // 0x1760 // MNetworkEnable CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x1764 // MNetworkEnable CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x1768 int32_t m_iPoseParameterAim; // 0x176c QAngle m_angDefaultCustomTowerAngle; // 0x1770 float m_flLastAimYaw; // 0x177c bool m_bClientSideCustomTower; // 0x1780 private: [[maybe_unused]] uint8_t __pad1781[0x7]; // 0x1781 public: CountdownTimer m_IdleRareAnimationTime; // 0x1788 }; // Alignment: 1 // Size: 0x17a8 class C_DOTA_BaseNPC_HoldoutTower : public C_DOTA_BaseNPC_Tower { public: DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x17a0 }; // Alignment: 0 // Size: 0x17a8 class C_DOTA_BaseNPC_SDKTower : public C_DOTA_BaseNPC_HoldoutTower { public: // No members available }; // Alignment: 0 // Size: 0x17a8 class C_DOTA_BaseNPC_HoldoutTower_LightFast : public C_DOTA_BaseNPC_HoldoutTower { public: // No members available }; // Alignment: 0 // Size: 0x17a8 class C_DOTA_BaseNPC_HoldoutTower_HeavySlow : public C_DOTA_BaseNPC_HoldoutTower { public: // No members available }; // Alignment: 0 // Size: 0x17a8 class C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed : public C_DOTA_BaseNPC_HoldoutTower { public: // No members available }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Barracks : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Fort : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Effigy_Statue : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Effigy_BattleCup : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 2 // Size: 0x1700 class C_DOTA_BaseNPC_RotatableBuilding : public C_DOTA_BaseNPC { public: // MNetworkEnable // MNetworkAlias "m_hHeroStatueSequence" HSequence m_hObsoleteHeroStatueSequence; // 0x16f8 // MNetworkEnable // MNetworkAlias "m_hConstantLayerSequence" HSequence m_hObsoleteConstantLayerSequence; // 0x16fc }; // Alignment: 53 // Size: 0x1a58 class C_DOTA_BaseNPC_Hero : public C_DOTA_BaseNPC_Additive { private: [[maybe_unused]] uint8_t __pad16f8[0x8]; // 0x16f8 public: // MNetworkEnable // MNetworkPriority "32" int32_t m_iCurrentXP; // 0x1700 // MNetworkEnable // MNetworkChangeCallback "OnAbilityPointsChanged" int32_t m_iAbilityPoints; // 0x1704 // MNetworkEnable GameTime_t m_flRespawnTime; // 0x1708 // MNetworkEnable float m_flRespawnTimePenalty; // 0x170c // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flStrength; // 0x1710 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flAgility; // 0x1714 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flIntellect; // 0x1718 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flStrengthTotal; // 0x171c // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flAgilityTotal; // 0x1720 // MNetworkEnable // MNetworkChangeCallback "OnBaseStatChanged" float m_flIntellectTotal; // 0x1724 // MNetworkEnable GameTime_t m_flDeathTime; // 0x1728 // MNetworkEnable int32_t m_iRecentDamage; // 0x172c float m_fPainFactor; // 0x1730 float m_fTargetPainFactor; // 0x1734 bool m_bLifeState; // 0x1738 private: [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 public: ParticleIndex_t m_nFXStunIndex; // 0x173c ParticleIndex_t m_nFXSilenceIndex; // 0x1740 ParticleIndex_t m_nFXDeathIndex; // 0x1744 private: [[maybe_unused]] uint8_t __pad1748[0x20]; // 0x1748 public: // MNetworkEnable PlayerID_t m_iPlayerID; // 0x1768 // MNetworkEnable CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x176c // MNetworkEnable bool m_bReincarnating; // 0x1770 // MNetworkEnable bool m_bCustomKillEffect; // 0x1771 private: [[maybe_unused]] uint8_t __pad1772[0x2]; // 0x1772 public: // MNetworkEnable GameTime_t m_flSpawnedAt; // 0x1774 // MNetworkEnable bool m_bScriptDisableRespawns; // 0x1778 private: [[maybe_unused]] uint8_t __pad1779[0x3]; // 0x1779 public: // MNetworkEnable int32_t m_iPrimaryAttribute; // 0x177c int32_t m_nLastDrawnHealth; // 0x1780 float m_flHurtAmount; // 0x1784 GameTime_t m_flLastHurtTime; // 0x1788 float m_flHurtDecayRate; // 0x178c GameTime_t m_flLastHealTime; // 0x1790 GameTime_t m_flLastTreeShakeTime; // 0x1794 CountdownTimer m_CenterOnHeroCooldownTimer; // 0x1798 private: [[maybe_unused]] uint8_t __pad17b0[0x208]; // 0x17b0 public: CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x19b8 int32_t m_nCurrentCombinedModelIndex; // 0x19d8 int32_t m_nPendingCombinedModelIndex; // 0x19dc int32_t m_iHeroID; // 0x19e0 float m_flCheckLegacyItemsAt; // 0x19e4 bool m_bDisplayAdditionalHeroes; // 0x19e8 private: [[maybe_unused]] uint8_t __pad19e9[0xf]; // 0x19e9 public: CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x19f8 CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x1a18 CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x1a30 ParticleIndex_t m_nKillStreakFX; // 0x1a48 int32_t m_nKillStreakFXTier; // 0x1a4c struct { uint8_t m_bBuybackDisabled: 1; uint8_t m_bWasFrozen: 1; uint8_t m_bUpdateClientsideWearables: 1; uint8_t m_bForceBuildCombinedModel: 1; uint8_t m_bRecombineForMaterialsOnly: 1; uint8_t m_bBuildingCombinedModel: 1; uint8_t m_bInReloadEvent: 1; uint8_t m_bStoreOldVisibility: 1; uint8_t m_bResetVisibility: 1; uint8_t m_bStoredVisibility: 1; uint8_t __pad4: 2; }; // 12 bits }; // Alignment: 1 // Size: 0x1700 class C_DOTA_BaseNPC_Creep : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable float m_flAim; // 0x16f8 }; // Alignment: 0 // Size: 0x1700 class C_DOTA_BaseNPC_Creep_Lane : public C_DOTA_BaseNPC_Creep { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_BaseNPC_Creep_Siege : public C_DOTA_BaseNPC_Creep_Lane { public: // No members available }; // Alignment: 1 // Size: 0x1708 class C_DOTA_BaseNPC_Creep_Neutral : public C_DOTA_BaseNPC_Creep { public: CUtlString m_sDisplayName; // 0x1700 }; // Alignment: 0 // Size: 0x1700 class C_DOTA_BaseNPC_Creep_Talking : public C_DOTA_BaseNPC_Creep { public: // No members available }; // Alignment: 2 // Size: 0x1708 class C_DOTA_BaseNPC_Creature : public C_DOTA_BaseNPC_Creep { public: // MNetworkEnable bool m_bIsCurrentlyChanneling; // 0x1700 private: [[maybe_unused]] uint8_t __pad1701[0x3]; // 0x1701 public: // MNetworkEnable float m_flChannelCycle; // 0x1704 }; // Alignment: 4 // Size: 0x17a8 class C_DOTA_BaseNPC_NeutralItemStash : public C_DOTA_BaseNPC_Building { private: [[maybe_unused]] uint8_t __pad1760[0x10]; // 0x1760 public: CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x1770 bool m_bHasFoundProps; // 0x1788 bool m_bDidHaveNewItems; // 0x1789 private: [[maybe_unused]] uint8_t __pad178a[0x6]; // 0x178a public: CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x1790 }; // Alignment: 0 // Size: 0x1708 class C_DOTA_BaseNPC_Trap_Ward : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 4 // Size: 0x17a0 class C_DOTA_BaseNPC_Shop : public C_DOTA_BaseNPC_Building { public: // MNetworkEnable DOTA_SHOP_TYPE m_ShopType; // 0x1760 private: [[maybe_unused]] uint8_t __pad1764[0x24]; // 0x1764 public: ParticleIndex_t m_nShopFX; // 0x1788 Vector m_vShopFXOrigin; // 0x178c float m_flLastSpeech; // 0x1798 }; // Alignment: 1 // Size: 0x1768 class C_DOTA_BaseNPC_HallofFame : public C_DOTA_BaseNPC_Building { public: int32_t m_HallofFame; // 0x1760 }; // Alignment: 0 // Size: 0x1760 class C_DOTA_BaseNPC_Promo : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 3 // Size: 0x1740 class C_PortraitHero : public C_DOTA_BaseNPC { public: int32_t m_nHeroID; // 0x16f8 int32_t m_actQueuedActivity; // 0x16fc char m_szQueuedActivityModifier[64]; // 0x1700 }; // Alignment: 17 // Size: 0x1958 class C_PortraitWorldUnit : public C_DOTA_BaseNPC { public: bool m_bSuppressIntroEffects; // 0x16f8 bool m_bIsAlternateLoadout; // 0x16f9 bool m_bSpawnBackgroundModels; // 0x16fa bool m_bDeferredPortrait; // 0x16fb bool m_bShowParticleAssetModifiers; // 0x16fc bool m_bIgnorePortraitInfo; // 0x16fd bool m_bFlyingCourier; // 0x16fe private: [[maybe_unused]] uint8_t __pad16ff[0x1]; // 0x16ff public: int32_t m_nEffigyStatusEffect; // 0x1700 private: [[maybe_unused]] uint8_t __pad1704[0x4]; // 0x1704 public: CUtlSymbolLarge m_effigySequenceName; // 0x1708 float m_flStartingAnimationCycle; // 0x1710 float m_flRareLoadoutAnimChance; // 0x1714 CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x1718 DOTAPortraitEnvironmentType_t m_environment; // 0x1730 private: [[maybe_unused]] uint8_t __pad1734[0x4]; // 0x1734 public: StartupBehavior_t m_nStartupBehavior; // 0x1738 private: [[maybe_unused]] uint8_t __pad173c[0x1bc]; // 0x173c public: CUtlSymbolLarge m_cameraName; // 0x18f8 private: [[maybe_unused]] uint8_t __pad1900[0x50]; // 0x1900 public: ParticleIndex_t m_nPortraitParticle; // 0x1950 int32_t m_nCourierType; // 0x1954 }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_BaseNPC_Seasonal_Snowman : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_Penguin : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_Dragon : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI9_Drums : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_BaseNPC_Frostivus2018_Snowman : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 5 // Size: 0x1778 class C_DOTA_Unit_Diretide_Portal : public C_DOTA_BaseNPC_Building { public: CHandle< C_BaseEntity > m_hPartnerPortal; // 0x1760 int32_t m_nRuneType; // 0x1764 int32_t m_nOriginalTeamNumber; // 0x1768 ParticleIndex_t m_nActiveFXIndex; // 0x176c ParticleIndex_t m_nRuneFXIndex; // 0x1770 }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Spring2021_DefusalBomb : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1760 class CDOTA_BaseNPC_Winter2022_CandyBucket : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 0 // Size: 0x1708 class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1708 class CDOTA_Unit_AghsFort_Creature_DragonKnight : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 1 // Size: 0x1700 class C_DOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public C_DOTA_BaseNPC_Additive { public: CHandle< C_BaseEntity > m_hOtherPortal; // 0x16f8 }; // Alignment: 1 // Size: 0x1710 class C_DOTA_Unit_AghsFort_Creature_DungeonBat : public C_DOTA_BaseNPC_Creature { public: ParticleIndex_t m_nFXAmbient; // 0x1708 }; // Alignment: 0 // Size: 0x1708 class C_DOTA_Unit_AghsFort_Creature_Batrider : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 1 // Size: 0x1768 class CDOTA_BaseNPC_Effigy_AghsFort : public C_DOTA_BaseNPC_Building { public: uint32_t m_unStatusEffectIndex; // 0x1760 }; // Alignment: 20 // Size: 0x17d8 class CDOTA_BaseNPC_AghsFort_Watch_Tower : public C_DOTA_BaseNPC_Building { public: int32_t m_nOptionNumber; // 0x1760 float m_flMovePlayersRadius; // 0x1764 CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1768 Vector m_vExitLocation; // 0x176c int32_t m_nPathSelectedID; // 0x1778 // MNetworkEnable int32_t m_nEncounterType; // 0x177c // MNetworkEnable bool m_bIsEliteEncounter; // 0x1780 // MNetworkEnable bool m_bIsAscensionLevelPicker; // 0x1781 private: [[maybe_unused]] uint8_t __pad1782[0x6]; // 0x1782 public: // MNetworkEnable CUtlSymbolLarge m_strEncounterName; // 0x1788 // MNetworkEnable CUtlSymbolLarge m_strAscensionAbilities; // 0x1790 // MNetworkEnable CHandle< C_BaseEntity > m_hEffigy; // 0x1798 float m_flYaw; // 0x179c float m_flStartTime; // 0x17a0 GameTime_t m_flCursorEnterTime; // 0x17a4 bool m_bShowingTooltip; // 0x17a8 private: [[maybe_unused]] uint8_t __pad17a9[0x1b]; // 0x17a9 public: float m_flLastUpdateTime; // 0x17c4 ParticleIndex_t m_nChannellingParticle; // 0x17c8 // MNetworkEnable CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x17cc // MNetworkEnable bool m_bIsBeingChanneled; // 0x17d0 private: [[maybe_unused]] uint8_t __pad17d1[0x3]; // 0x17d1 public: // MNetworkEnable float m_flGoalCaptureProgress; // 0x17d4 }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_CustomGameAnnouncerAghanim : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public C_DOTA_BaseNPC_Additive { public: // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Seasonal_TI10_DiscoBall")->m_static_fields[0]->m_instance);}; static char* &Get_PARTICLE_DEATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Seasonal_TI10_DiscoBall")->m_static_fields[1]->m_instance);}; static char* &Get_PARTICLE_CHANNEL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Seasonal_TI10_DiscoBall")->m_static_fields[2]->m_instance);}; }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon { public: // No members available }; // Alignment: 0 // Size: 0x1760 class CInfoOfrendaStatue : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 7 // Size: 0x1720 class CDOTA_Creature_Jungle_Spirit : public C_DOTA_BaseNPC_Creature { public: int32_t m_iCurrentXP; // 0x1708 float m_fInitialScaleGain; // 0x170c float m_fScaleGainMultiplierPerLevel; // 0x1710 float m_fLastModelScaleGained; // 0x1714 bool m_bGainedSecondPlatemail; // 0x1718 bool m_bGainedBonusHealth; // 0x1719 private: [[maybe_unused]] uint8_t __pad171a[0x2]; // 0x171a public: ParticleIndex_t m_nAmbientFXIndex; // 0x171c }; // Alignment: 2 // Size: 0x1768 class CDOTA_BaseNPC_CustomEffigy : public C_DOTA_BaseNPC_Building { public: uint32_t m_unStatusEffectIndex; // 0x1760 CHandle< C_BaseEntity > m_hPedestal; // 0x1764 }; // Alignment: 0 // Size: 0x16f8 class CDOTA_BaseNPC_JungleVarmint : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 1 // Size: 0x1768 class C_DOTA_Unit_Twin_Gate : public C_DOTA_BaseNPC_Building { public: CHandle< C_BaseEntity > m_hOtherPortal; // 0x1760 }; // Alignment: 0 // Size: 0x16f8 class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_DataDriven : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 3 // Size: 0x1708 class C_DOTA_NPC_Aghsfort_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: ParticleIndex_t m_nFXSkullIndex; // 0x16f8 // MNetworkEnable int32_t m_nTargetType; // 0x16fc // MNetworkEnable int32_t m_nTargetFlags; // 0x1700 }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_AghsFort_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 2 // Size: 0x1720 class C_DOTA_AghsFort_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: CountdownTimer m_ctRespawn; // 0x1700 C_DOTA_BaseNPC* m_pTombstone; // 0x1718 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_AghsFort_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_AghsFort_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_AghsFort_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 3 // Size: 0x1a68 class CDOTA_AghsFort_Unit_ArcWarden_Boss : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nTalkFXIndex; // 0x1a58 ParticleIndex_t m_nFXDeath; // 0x1a5c ParticleIndex_t m_nTempestFX; // 0x1a60 }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_AghsFort_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1708 class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_AncientApparition : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_AntiMage : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Bane : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Pudge : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Juggernaut : public C_DOTA_BaseNPC_Hero { public: uint32_t m_unOmniKills; // 0x1a58 }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Nevermore : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_SandKing : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Mirana : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Sven : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 3 // Size: 0x1a88 class C_DOTA_Unit_Hero_SkeletonKing : public C_DOTA_BaseNPC_Hero { public: int32_t m_nSkeletonWarriors; // 0x1a58 // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" int32_t m_vecInitialHeroKillBitmask[5]; // 0x1a5c // MNetworkEnable // MNetworkChangeCallback "OnSKArcanaProgressChanged" int32_t m_vecInGameHeroKillBitmask[5]; // 0x1a70 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_StormSpirit : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_DrowRanger : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Earthshaker : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_VengefulSpirit : public C_DOTA_BaseNPC_Hero { public: bool m_bArcanaEquipped; // 0x1a58 }; // Alignment: 2 // Size: 0x1a60 class C_DOTA_Unit_Hero_CrystalMaiden : public C_DOTA_BaseNPC_Hero { public: int32_t m_iParticleMouthIndex; // 0x1a58 int32_t m_iParticleHandRIndex; // 0x1a5c }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Axe : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Bloodseeker : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_PhantomLancer : public C_DOTA_BaseNPC_Hero { public: bool m_bInventoryEnabled; // 0x1a58 }; // Alignment: 4 // Size: 0x1a68 class C_DOTA_Unit_Hero_Razor : public C_DOTA_BaseNPC_Hero { public: int32_t m_iPoseParameterAim; // 0x1a58 int32_t m_iPoseParameterRange; // 0x1a5c // MNetworkEnable // MNetworkPriority "32" int32_t m_nTargetAngle; // 0x1a60 // MNetworkEnable // MNetworkPriority "32" int32_t m_nTargetRange; // 0x1a64 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Lina : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Morphling : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_ZeusCloud : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Zuus : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Kunkka : public C_DOTA_BaseNPC_Hero { public: int32_t m_nFXIndex; // 0x1a58 }; // Alignment: 4 // Size: 0x1a68 class C_DOTA_Unit_Hero_Tiny : public C_DOTA_BaseNPC_Hero { public: CHandle< C_BaseEntity > m_hTreeWearable; // 0x1a58 ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1a5c // MNetworkEnable CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x1a60 // MNetworkEnable bool m_bIllusionHasTree; // 0x1a64 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Puck : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 3 // Size: 0x1a68 class C_DOTA_Unit_Hero_Windrunner : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" int32_t m_nTargetAngle; // 0x1a58 int32_t m_iPoseParameterAim; // 0x1a5c ParticleIndex_t m_nFXDeath; // 0x1a60 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Lich : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Tidehunter : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1708 class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public C_DOTA_BaseNPC_Additive { public: QAngle m_angle; // 0x16f8 int32_t m_iPoseParameterAim; // 0x1704 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_ShadowShaman : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a60 class C_DOTA_Unit_Hero_Riki : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Enigma : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Tinker : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_WitchDoctor : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 3 // Size: 0x1708 class C_DOTA_NPC_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive { public: ParticleIndex_t m_nFXSkullIndex; // 0x16f8 // MNetworkEnable int32_t m_nTargetType; // 0x16fc // MNetworkEnable int32_t m_nTargetFlags; // 0x1700 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Sniper : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a60 class C_DOTA_Unit_Hero_Necrolyte : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Slardar : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Ursa : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Lion : public C_DOTA_BaseNPC_Hero { public: uint32_t m_unFingerPrestigeKills; // 0x1a58 }; // Alignment: 1 // Size: 0x1728 class CDOTA_Unit_Announcer : public C_DOTA_BaseNPC { public: CAnnouncerDescriptor m_currentAnnouncer; // 0x16f8 }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_CustomGameAnnouncer : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 7 // Size: 0x17f0 class C_DOTA_Unit_Courier : public C_DOTA_BaseNPC_Additive { public: bool m_bUnitRespawned; // 0x16f8 bool m_bPreUpdateFlyingCourier; // 0x16f9 private: [[maybe_unused]] uint8_t __pad16fa[0x2]; // 0x16fa public: // MNetworkEnable PlayerID_t m_nSoleControllingPlayer; // 0x16fc // MNetworkEnable bool m_bFlyingCourier; // 0x1700 private: [[maybe_unused]] uint8_t __pad1701[0x3]; // 0x1701 public: // MNetworkEnable GameTime_t m_flRespawnTime; // 0x1704 // MNetworkEnable CourierState_t m_nCourierState; // 0x1708 // MNetworkEnable CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x170c }; // Alignment: 5 // Size: 0x17f0 class C_DOTA_Unit_Scout : public C_DOTA_BaseNPC_Additive { public: bool m_bUnitRespawned; // 0x16f8 private: [[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9 public: // MNetworkEnable PlayerID_t m_nSoleControllingPlayer; // 0x16fc // MNetworkEnable GameTime_t m_flRespawnTime; // 0x1700 // MNetworkEnable ScoutState_t m_nScoutState; // 0x1704 // MNetworkEnable CHandle< C_BaseEntity > m_hScoutStateEntity; // 0x1708 }; // Alignment: 0 // Size: 0x1760 class C_DOTA_Unit_Fountain : public C_DOTA_BaseNPC_Building { public: // No members available }; // Alignment: 5 // Size: 0x1720 class C_DOTA_Unit_Roshan : public C_DOTA_BaseNPC_Additive { public: int32_t m_iLastHealthPercent; // 0x16f8 ParticleIndex_t m_nFXIndex; // 0x16fc CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1700 // MNetworkEnable bool m_bGoldenRoshan; // 0x1718 bool m_bIsNightTimeMode; // 0x1719 }; // Alignment: 3 // Size: 0x1718 class C_DOTA_Unit_Miniboss : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable int32_t m_nTimesSpawned; // 0x16f8 int32_t m_nTempViewer; // 0x16fc CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x1700 }; // Alignment: 0 // Size: 0x1708 class C_DOTA_Unit_Nian : public C_DOTA_BaseNPC_Creature { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_BaseNPC_Warlock_Golem : public C_DOTA_BaseNPC_Creep { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Warlock : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1700 class CODTA_Unit_Warlock_Imp : public C_DOTA_BaseNPC_Creep { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Beastmaster : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_Unit_Hero_Beastmaster_Beasts : public C_DOTA_BaseNPC_Creep_Talking { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_Unit_Hero_Beastmaster_Hawk : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_Unit_Hero_Beastmaster_Boar : public C_DOTA_Unit_Hero_Beastmaster_Beasts { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_QueenOfPain : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1708 class C_DOTA_BaseNPC_Venomancer_PlagueWard : public C_DOTA_BaseNPC_Additive { public: QAngle m_angle; // 0x16f8 int32_t m_iPoseParameterAim; // 0x1704 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Venomancer : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_FacelessVoid : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_DeathProphet : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Pugna : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1a60 class C_DOTA_Unit_Hero_PhantomAssassin : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 // MNetworkEnable uint32_t m_nArcanaLevel; // 0x1a5c }; // Alignment: 1 // Size: 0x1700 class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public C_DOTA_BaseNPC_Additive { public: ParticleIndex_t m_nFXIndex; // 0x16f8 // Static fields: static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->m_static_fields[0]->m_instance);}; }; // Alignment: 1 // Size: 0x17a0 class C_DOTA_PhantomAssassin_Gravestone : public C_DOTA_BaseNPC_Additive { public: PlayerID_t m_nVictimPlayerID; // 0x16f8 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_TemplarAssassin : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_TemplarAssassin_PsionicTrap : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Viper : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 5 // Size: 0x1a70 class C_DOTA_Unit_TargetDummy : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable float m_flDamageTaken; // 0x1a58 // MNetworkEnable float m_flLastHit; // 0x1a5c // MNetworkEnable GameTime_t m_flStartDamageTime; // 0x1a60 // MNetworkEnable GameTime_t m_flLastDamageTime; // 0x1a64 bool m_bIsMoving; // 0x1a68 }; // Alignment: 3 // Size: 0x1808 class C_DOTA_Unit_LoopingSound : public C_DOTA_BaseNPC_Additive { private: [[maybe_unused]] uint8_t __pad16f8[0x8]; // 0x16f8 public: int32_t m_nPrevLoopingSoundParity; // 0x1700 // MNetworkEnable char m_pszNetworkedSoundLoop[256]; // 0x1704 // MNetworkEnable int32_t m_nLoopingSoundParity; // 0x1804 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Luna : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_DragonKnight : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Dazzle : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Leshrac : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Rattletrap : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Furion : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Life_Stealer : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_DarkSeer : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1a58 }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_BaseNPC_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Clinkz : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Omniknight : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Enchantress : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Huskar : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_NightStalker : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Broodmother : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_Unit_Broodmother_Spiderling : public C_DOTA_BaseNPC_Creep_Talking { public: // No members available }; // Alignment: 2 // Size: 0x1708 class C_DOTA_Unit_Broodmother_Web : public C_DOTA_BaseNPC_Additive { public: ParticleIndex_t m_nFXIndex; // 0x16f8 Vector m_vecOrigin; // 0x16fc }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_BroodmotherStickyWeb : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_BountyHunter : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Weaver : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Jakiro : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Batrider : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Chen : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 4 // Size: 0x1a68 class C_DOTA_Unit_Hero_Spectre : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" uint8_t m_unCurrentArcanaKillStreak; // 0x1a58 // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" uint8_t m_unBestArcanaKillStreak; // 0x1a59 private: [[maybe_unused]] uint8_t __pad1a5a[0x2]; // 0x1a5a public: // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" PlayerID_t m_nVictimPlayerID; // 0x1a5c // MNetworkEnable // MNetworkChangeCallback "OnSpectreArcanaProgressChanged" bool m_bArcanaKillstreakRecordBroken; // 0x1a60 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_DoomBringer : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_SpiritBreaker : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Gyrocopter : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Alchemist : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Invoker : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1700 class C_DOTA_BaseNPC_Invoker_Forged_Spirit : public C_DOTA_BaseNPC_Creep { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Silencer : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Obsidian_Destroyer : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Brewmaster : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1708 class C_DOTA_Unit_Brewmaster_PrimalEarth : public C_DOTA_BaseNPC_Creep { public: ParticleIndex_t m_nFXEarthAmbient1; // 0x1700 ParticleIndex_t m_nFXEarthAmbient2; // 0x1704 }; // Alignment: 2 // Size: 0x1708 class C_DOTA_Unit_Brewmaster_PrimalStorm : public C_DOTA_BaseNPC_Creep { public: ParticleIndex_t m_nFXStormAmbient1; // 0x1700 ParticleIndex_t m_nFXStormAmbient2; // 0x1704 }; // Alignment: 1 // Size: 0x1708 class C_DOTA_Unit_Brewmaster_PrimalFire : public C_DOTA_BaseNPC_Creep { public: ParticleIndex_t m_nFXAmbient; // 0x1700 }; // Alignment: 1 // Size: 0x1708 class C_DOTA_Unit_Brewmaster_PrimalVoid : public C_DOTA_BaseNPC_Creep { public: ParticleIndex_t m_nFXAmbient; // 0x1700 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Lycan : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Shadow_Demon : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1700 class C_DOTA_Unit_SpiritBear : public C_DOTA_BaseNPC_Additive { public: // MNetworkEnable bool m_bShouldRespawn; // 0x16f8 // MNetworkEnable bool m_bStolen; // 0x16f9 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_LoneDruid : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_ChaosKnight : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Meepo : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable int32_t m_nWhichMeepo; // 0x1a58 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Treant : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_Treant_EyesInTheForest : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Ogre_Magi : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 2 // Size: 0x1720 class C_DOTA_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep { public: CountdownTimer m_ctRespawn; // 0x1700 C_DOTA_BaseNPC* m_pTombstone; // 0x1718 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 11 // Size: 0x1ad0 class C_DOTA_Unit_Hero_Rubick : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" Vector m_stolenAbilityColorHSV1; // 0x1a58 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" Vector m_stolenAbilityColorHSV2; // 0x1a64 // MNetworkEnable // MNetworkChangeCallback "OnAbilityColorChanged" Vector m_stolenAbilityFXColorHSV; // 0x1a70 // MNetworkDisable bool m_bHasInitializedAbilityColors; // 0x1a7c private: [[maybe_unused]] uint8_t __pad1a7d[0x3]; // 0x1a7d public: Vector m_startAbilityColorHSV1; // 0x1a80 Vector m_startAbilityColorHSV2; // 0x1a8c Vector m_startAbilityFXColorHSV; // 0x1a98 Vector m_currAbilityColorHSV1; // 0x1aa4 Vector m_currAbilityColorHSV2; // 0x1ab0 Vector m_currAbilityFXColorHSV; // 0x1abc GameTime_t m_flStartTime; // 0x1ac8 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Disruptor : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Nyx_Assassin : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Naga_Siren : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_IngisFatuus : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_KeeperOfTheLight : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 8 // Size: 0x1a70 class C_DOTA_Unit_Hero_Wisp : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nAmbientFXIndex; // 0x1a58 ParticleIndex_t m_nStunnedFXIndex; // 0x1a5c ParticleIndex_t m_nTalkFXIndex; // 0x1a60 ParticleIndex_t m_nIllusionFXIndex; // 0x1a64 bool m_bParticleHexed; // 0x1a68 bool m_bParticleStunned; // 0x1a69 bool m_bDetermineAmbientEffect; // 0x1a6a private: [[maybe_unused]] uint8_t __pad1a6b[0x1]; // 0x1a6b public: float m_flPrevHealth; // 0x1a6c }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Wisp_Spirit : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Visage : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1708 class C_DOTA_Unit_VisageFamiliar : public C_DOTA_BaseNPC_Creep { public: ParticleIndex_t m_nFXAmbient; // 0x1700 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Slark : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Medusa : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_TrollWarlord : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Centaur : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Magnataur : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Shredder : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Bristleback : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Tusk : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1708 class C_DOTA_BaseNPC_Tusk_Sigil : public C_DOTA_BaseNPC_Additive { public: QAngle m_angInitialAngles; // 0x16f8 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Skywrath_Mage : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Abaddon : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_Elder_Titan_AncestralSpirit : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Elder_Titan : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Legion_Commander : public C_DOTA_BaseNPC_Hero { public: uint32_t m_unDuelsWon; // 0x1a58 }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Techies : public C_DOTA_BaseNPC_Hero { public: bool m_bLastDeathFromSuicide; // 0x1a58 }; // Alignment: 1 // Size: 0x1700 class C_DOTA_NPC_TechiesMines : public C_DOTA_BaseNPC_Additive { public: ParticleIndex_t m_iRangeFX; // 0x16f8 }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_NPC_Techies_Minefield_Sign : public C_DOTA_BaseNPC_Additive { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_EmberSpirit : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_Unit_Earth_Spirit_Stone : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_EarthSpirit : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class CDOTA_Unit_Hero_AbyssalUnderlord : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_iRangeFX; // 0x1a58 }; // Alignment: 1 // Size: 0x1768 class C_DOTA_Unit_Underlord_Portal : public C_DOTA_BaseNPC_Building { public: CHandle< C_BaseEntity > m_hOtherPortal; // 0x1760 }; // Alignment: 3 // Size: 0x1a70 class C_DOTA_Unit_Hero_Terrorblade : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 private: [[maybe_unused]] uint8_t __pad1a5c[0x4]; // 0x1a5c public: CUtlString m_szResponseCriteria; // 0x1a60 // MNetworkEnable uint32_t m_nArcanaColor; // 0x1a68 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Phoenix : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Oracle : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 1 // Size: 0x1a60 class C_DOTA_Unit_Hero_Winter_Wyvern : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 3 // Size: 0x1a68 class CDOTA_Unit_Hero_ArcWarden : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nTalkFXIndex; // 0x1a58 ParticleIndex_t m_nFXDeath; // 0x1a5c ParticleIndex_t m_nTempestFX; // 0x1a60 }; // Alignment: 4 // Size: 0x1a68 class C_DOTA_Unit_Hero_MonkeyKing : public C_DOTA_BaseNPC_Hero { public: bool mb_MonkeyHasArcana; // 0x1a58 private: [[maybe_unused]] uint8_t __pad1a59[0x3]; // 0x1a59 public: // MNetworkEnable uint32_t m_nTreeDisguise; // 0x1a5c // MNetworkEnable // MNetworkChangeCallback "OnPerchedTreeChanged" uint32_t m_nPerchedTree; // 0x1a60 CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x1a64 }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Pangolier : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_DarkWillow : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x16f8 class C_DOTA_DarkWillow_Creature : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class CDOTA_Unit_Hero_Grimstroke : public C_DOTA_BaseNPC_Hero { public: ParticleIndex_t m_nFXDeath; // 0x1a58 }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Unit_Grimstroke_InkCreature : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Mars : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Snapfire : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Void_Spirit : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class C_DOTA_Unit_Hero_Hoodwink : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 1 // Size: 0x1a60 class CDOTA_Unit_Hero_Dawnbreaker : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable int32_t m_nAttackState; // 0x1a58 }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_Marci : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 0 // Size: 0x1a58 class CDOTA_Unit_Hero_PrimalBeast : public C_DOTA_BaseNPC_Hero { public: // No members available }; // Alignment: 2 // Size: 0x1a68 class C_DOTA_Unit_Hero_Muerta : public C_DOTA_BaseNPC_Hero { public: // MNetworkEnable // MNetworkPriority "32" CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x1a58 QAngle m_qStartAngle; // 0x1a5c }; // Alignment: 0 // Size: 0x16f8 class CDOTA_Muerta_Revenant : public C_DOTA_BaseNPC { public: // No members available }; // Alignment: 3 // Size: 0x1710 class CDOTA_NPC_Observer_Ward : public C_DOTA_BaseNPC_Additive { public: int32_t m_iDuration; // 0x16f8 private: [[maybe_unused]] uint8_t __pad16fc[0x4]; // 0x16fc public: CNewParticleEffect* m_pVisionRangeFX; // 0x1700 int32_t m_nPreviewViewer; // 0x1708 }; // Alignment: 3 // Size: 0x1720 class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward { public: int32_t m_iTrueSight; // 0x1710 CEntityHandle m_hCasterEntity; // 0x1714 CEntityHandle m_hAbilityEntity; // 0x1718 }; // Alignment: 8 // Size: 0x1740 class C_DOTA_PortraitEntity : public C_DOTA_BaseNPC { public: CountdownTimer m_PetIdleTimer; // 0x16f8 ParticleIndex_t m_nMouthFX; // 0x1710 int32_t m_nMouthControlPoint; // 0x1714 ParticleIndex_t m_iPortraitParticle; // 0x1718 int32_t m_PortraitActivity; // 0x171c CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x1720 bool m_bIsSimulationActive; // 0x1738 private: [[maybe_unused]] uint8_t __pad1739[0x3]; // 0x1739 public: CEntityHandle m_hAppearanceFromNPC; // 0x173c }; // Alignment: 0 // Size: 0x1740 class C_DOTA_PortraitEntity_FullBody : public C_DOTA_PortraitEntity { public: // No members available }; // Alignment: 0 // Size: 0x1728 class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer { public: // No members available };