source2sdk/sdk/client.hpp
Konstantin 'cpz' L 0b2b498ce3 13.05.2023
2023-05-15 04:39:33 +03:00

79009 lines
1.6 MiB

#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
// /////////////////////////////////////////////////////////////
// Binary: client.dll
// Classes count: 7669
// 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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);};
static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[1]->m_instance);};
static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[2]->m_instance);};
static bool &Get_m_bAllowPrecache(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[3]->m_instance);};
static LatchDirtyPermission_t &Get_s_nLatchPermissions(){return *reinterpret_cast<LatchDirtyPermission_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[4]->m_instance);};
static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[5]->m_instance);};
static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast<CBasePlayerController**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[6]->m_instance);};
static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[7]->m_instance);};
static bool &Get_s_bAbsRecomputationEnabled(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[8]->m_instance);};
static bool &Get_s_bComputingInterpolatedValues(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[9]->m_instance);};
static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast<bool*>(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<CUtlVector< C_BaseEntity* >*>(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<float*>(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<EntComponentInfo_t*>(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<int32_t*>(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<EntComponentInfo_t*>(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<int32_t*>(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<C_DOTAGameManagerProxy**>(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: 90
// Size: 0x6b8
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_flDraftingHeroPickSelectTimeOverride; // 0x5fc
// MNetworkEnable
float m_flDraftingBanningTimeOverride; // 0x600
// MNetworkEnable
bool m_bPauseEnabled; // 0x604
private:
[[maybe_unused]] uint8_t __pad0605[0x3]; // 0x605
public:
// MNetworkEnable
float m_flCustomScanCooldown; // 0x608
// MNetworkEnable
float m_flCustomGlyphCooldown; // 0x60c
// MNetworkEnable
float m_flCustomBackpackSwapCooldown; // 0x610
// MNetworkEnable
float m_flCustomBackpackCooldownPercent; // 0x614
// MNetworkEnable
bool m_bDefaultRuneSpawnLogic; // 0x618
// MNetworkEnable
bool m_bEnableFreeCourierMode; // 0x619
// MNetworkEnable
bool m_bAllowNeutralItemDrops; // 0x61a
// MNetworkEnable
bool m_bEnableNeutralStash; // 0x61b
// MNetworkEnable
bool m_bEnableNeutralStashTeamViewOnly; // 0x61c
// MNetworkEnable
bool m_bEnableNeutralItemHideUndiscovered; // 0x61d
// MNetworkEnable
bool m_bEnableSendToStash; // 0x61e
// MNetworkEnable
bool m_bForceRightClickAttackDisabled; // 0x61f
// MNetworkEnable
C_UtlVectorEmbeddedNetworkVar< CDOTACustomShopInfo > m_vecCustomShopInfo; // 0x620
// MNetworkEnable
bool m_bCanSellAnywhere; // 0x670
private:
[[maybe_unused]] uint8_t __pad0671[0x3]; // 0x671
public:
// MNetworkEnable
float m_flCameraNearZ; // 0x674
// MNetworkEnable
float m_flCameraFarZ; // 0x678
// MNetworkEnable
int32_t m_nCustomRadiantScore; // 0x67c
// MNetworkEnable
int32_t m_nCustomDireScore; // 0x680
// MNetworkEnable
bool m_bAbilityUpgradeWhitelistEnabled; // 0x684
private:
[[maybe_unused]] uint8_t __pad0685[0x3]; // 0x685
public:
// MNetworkEnable
C_NetworkUtlVectorBase< AbilityID_t > m_vecAbilityUpgradeWhitelist; // 0x688
// MNetworkEnable
bool m_bGiveFreeTPOnDeath; // 0x6a0
private:
[[maybe_unused]] uint8_t __pad06a1[0x3]; // 0x6a1
public:
// MNetworkEnable
int32_t m_nInnateMeleeDamageBlockPct; // 0x6a4
// MNetworkEnable
int32_t m_nInnateMeleeDamageBlockAmount; // 0x6a8
// MNetworkEnable
int32_t m_nInnateMeleeDamageBlockPerLevelAmount; // 0x6ac
// MNetworkEnable
float m_flWaterRuneSpawnInterval; // 0x6b0
uint32_t m_nHUDVisibilityBitsPrevious; // 0x6b4
};
// Alignment: 0
// Size: 0x6b8
class C_DOTATurboGameMode : public C_DOTABaseGameMode
{
public:
// No members available
};
// Alignment: 0
// Size: 0x6b8
class C_DOTANewPlayerPoolGameMode : public C_DOTABaseGameMode
{
public:
// No members available
};
// Alignment: 0
// Size: 0x6b8
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: 0x270
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[0x254]; // 0xc
public:
uint16_t m_nHasTruesightForTeam; // 0x260
uint16_t m_nHasTruesightForTeamValid; // 0x262
uint16_t m_nProvidesFOWPositionForTeam; // 0x264
uint16_t m_nProvidesFOWPositionForTeamValid; // 0x266
int32_t m_iBuffIndex; // 0x268
int32_t m_iLockRefCount; // 0x26c
};
// 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: 0x11d8
class CDOTA_Buff_Item : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Stacking_Base : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Stacking_Multiple_Buff_Base : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Glyph_Reset : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_SetScaleset : public CDOTA_Buff
{
public:
CUtlString m_Scaleset; // 0x11d8
bool m_bActive; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_StackedNeutral : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Filler_LastDitch : public CDOTA_Buff
{
public:
float melee_number; // 0x11d8
float ranged_number; // 0x11dc
float siege_number; // 0x11e0
int32_t lane; // 0x11e4
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_FillerThinker : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11d8
bool bStarted; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
int32_t nCount; // 0x11f4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Filler_Buff_Icon : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Filler_Heal_Aura : public CDOTA_Buff_Item
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Filler_Heal : public CDOTA_Buff
{
public:
int32_t hp_heal; // 0x11d8
int32_t mp_heal; // 0x11dc
int32_t hp_heal_growth; // 0x11e0
float mp_heal_growth; // 0x11e4
int32_t hp_heal_pct; // 0x11e8
int32_t mp_heal_pct; // 0x11ec
int32_t tota_hp_per_second; // 0x11f0
int32_t tota_mp_per_second; // 0x11f4
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_FountainInvulnerabilityBuff : public CDOTA_Buff
{
public:
Vector m_vecPosition; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Building_DispelsSmoke : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Truesight_Aura : public CDOTA_Buff
{
public:
int32_t m_nAuraRadius; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Tower_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Fountain_Truesight_Aura : public CDOTA_Modifier_Truesight_Aura
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Tower_Aura : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
bool m_bOverrideArmor; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
float hp_regen; // 0x11e0
bool m_bOverrideRegen; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t m_nRadius; // 0x11e8
};
// Alignment: 5
// Size: 0x11e8
class CDOTA_Modifier_Tower_Aura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
float hp_regen; // 0x11dc
bool m_bOverrideArmor; // 0x11e0
bool m_bOverrideRegen; // 0x11e1
bool m_bSentFirstRefresh; // 0x11e2
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tower_Armor_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ScoutVisible : public CDOTA_Buff
{
public:
int32_t reveal_radius; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_ScoutBonuses : public CDOTA_Buff
{
public:
int32_t reveal_radius; // 0x11d8
float increase_health; // 0x11dc
int32_t max_health; // 0x11e0
float increase_armor; // 0x11e4
float max_armor; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BackdoorProtection : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BackdoorProtectionInBase : public CDOTA_Modifier_BackdoorProtection
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BackdoorProtectionActive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ProjectileVision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ProjectileVisionOnMinimap : public CDOTA_Modifier_ProjectileVision
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pet : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_HeroStatue : public CDOTA_Buff
{
public:
uint32_t m_unStatusEffectIndex; // 0x11d8
CHandle< C_BaseEntity > m_hPedestal; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_HeroStatuePedestal : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BattleCupEffigy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hidden_NoDamage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tutorial_Disable_Healing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tutorial_SpeechBubble : public CDOTA_Buff
{
public:
bool m_bFacePlayer; // 0x11d8
};
// Alignment: 3
// Size: 0x11e0
class CDOTA_Modifier_Tutorial_ForceAnimation : public CDOTA_Buff
{
public:
int32_t m_nActivity; // 0x11d8
bool m_bLoop; // 0x11dc
bool m_bFacePlayer; // 0x11dd
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tutorial_HideNPC : public CDOTA_Buff
{
public:
bool m_bRemoveOnDeath; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tutorial_LowAttackPriority : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tutorial_LastHittable : public CDOTA_Buff
{
public:
bool m_bIsFriend; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Creep_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Creep_Haste : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Buyback_Gold_Penalty : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Provide_Vision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_ScriptedMotionController : public CDOTA_Buff
{
public:
HSCRIPT m_hHorizontalControlFunction; // 0x11d8
HSCRIPT m_hVerticalControlFunction; // 0x11e0
HSCRIPT m_hOnDestroyFunction; // 0x11e8
CVariantBase< CVariantDefaultAllocator > m_parameterTable; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_VR_Modifier_Statue_Mode : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Generic_Hidden : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Disable_Healing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BaseBlocker_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BaseBlocker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BaseBlocker_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Rune_Shield : public CDOTA_Buff
{
public:
int32_t damage_absorb; // 0x11d8
bool m_bStartedTimer; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
int32_t m_nDamageAbsorbed; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bonus_Armor : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bonus_Mres : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bonus_Damage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_HP_Regen : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MP_Regen : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MagicImmune : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DebuffImmune : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CameraFollow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hexed : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Editor : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Prosperous_Soul : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MoveSpeed_Percentage : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kill : public CDOTA_Buff
{
public:
bool m_bHideOnKill; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Phased : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dominated : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrueSight : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrueSightFoW : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrueSightAll : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Stunned : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bashed : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Taunt : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_PersistentInvisibility : public CDOTA_Buff
{
public:
float fade_delay; // 0x11d8
float m_flFadeTime; // 0x11dc
GameTime_t m_flLastActionTime; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Invisible : public CDOTA_Buff
{
public:
bool m_bSubtle; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
GameTime_t m_flFadeTime; // 0x11dc
float m_flFadeTimeValue; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_InvisibleTrueSightImmune : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Followthrough : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Fear : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AttackImmune : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Disarmed : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Break : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muted : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rooted : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NoHealthBar : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NotOnMinimap : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FountainAura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FountainAuraBuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1238
class CDOTA_Modifier_Illusion : public CDOTA_Buff
{
public:
int32_t outgoing_damage; // 0x11d8
int32_t outgoing_damage_structure; // 0x11dc
int32_t outgoing_damage_roshan; // 0x11e0
int32_t incoming_damage; // 0x11e4
int32_t bounty_base; // 0x11e8
int32_t bounty_growth; // 0x11ec
CUtlString m_strIllusionType; // 0x11f0
char m_szIllusionLabel[64]; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_DoubleDamage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Rune_ExtraDamage : public CDOTA_Modifier_Rune_DoubleDamage
{
public:
int32_t m_iAdditionalDamagePct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_Haste : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_FlyingHaste : public CDOTA_Modifier_Rune_Haste
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Rune_Invisibility : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Rune_Super_Invisibility : public CDOTA_Modifier_PersistentInvisibility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_Regen : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rune_SuperRegen : public CDOTA_Modifier_Rune_Regen
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rune_Arcane : public CDOTA_Buff
{
public:
int32_t m_iCooldownReductionPct; // 0x11d8
int32_t m_iCostReductionPct; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Rune_SuperArcane : public CDOTA_Modifier_Rune_Arcane
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Teleporting : public CDOTA_Buff
{
public:
float m_fChannelTime; // 0x11d8
Vector m_vStart; // 0x11dc
Vector m_vEnd; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Teleporting_Root_Logic : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 10
// Size: 0x1208
class CDOTA_Modifier_Knockback : public CDOTA_Buff
{
public:
float knockback_distance; // 0x11d8
int32_t knockback_height; // 0x11dc
float knockback_duration; // 0x11e0
Vector m_vHorizOffset; // 0x11e4
Vector m_vStartPosition; // 0x11f0
float m_fCurrentTimeHoriz; // 0x11fc
float m_fCurrentTimeVert; // 0x1200
bool m_bShouldStun; // 0x1204
bool m_bRespectLeash; // 0x1205
bool m_bReversePolarity; // 0x1206
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Cyclone : public CDOTA_Buff
{
public:
GameTime_t m_flStartTime; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_IceSlide : public CDOTA_Buff
{
public:
GameTime_t m_fLastUpdateTime; // 0x11d8
Vector m_vVelocity; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tutorial_LastHitHelper : public CDOTA_Buff
{
public:
bool m_bTargetFriendlies; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TeamShowcase_Global : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TeamShowcase_Showcase : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1208
class CDOTA_Modifier_HallOfFame_Glow : public CDOTA_Buff
{
public:
CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs; // 0x11d8
CUtlVector< PlayerID_t > m_vecGlowingPlayerIDs2; // 0x11f0
// Static fields:
static CUtlVector< PlayerID_t > &Get_s_vecGlowingPlayerIDs(){return *reinterpret_cast<CUtlVector< PlayerID_t >*>(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<CUtlVector< PlayerID_t >*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_HallOfFame_Glow")->m_static_fields[1]->m_instance);};
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DisableTauntAnimationCancel : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PreventTaunts : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Activity_Modifier : public CDOTA_Buff
{
public:
CUtlSymbolLarge m_activityModifier; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_SecondaryUnit_Taunt : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f0
class CDOTA_Modifier_MonkeyKing_BouncePerch : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTree; // 0x11d8
bool m_bGroundToTree; // 0x11dc
bool m_bTreeToGround; // 0x11dd
bool m_bTreeToTree; // 0x11de
private:
[[maybe_unused]] uint8_t __pad11df[0x1]; // 0x11df
public:
float perched_day_vision; // 0x11e0
float perched_night_vision; // 0x11e4
bool m_bAbilityIsStolen; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BookOfStrength : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BookOfAgility : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BookOfIntelligence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_No_Invisibility : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hide_On_Minimap : public CDOTA_Buff
{
public:
bool m_bEnemiesOnly; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ChangeTreeModel_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LegacyChargeCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_FixedNumberOfHitsToKill : public CDOTA_Buff
{
public:
int32_t creep_attack_divisor; // 0x11d8
int32_t attack_count; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_NPXBuff : public CDOTA_Buff
{
public:
int32_t m_nCurReduction; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Muerta_PartingShot_PhysicalBodyDebuff : public CDOTA_Modifier_Stunned
{
public:
CHandle< C_BaseEntity > m_hSoulEntityClient; // 0x11d8
int32_t damage_reduction_percent; // 0x11dc
};
// Alignment: 63
// Size: 0x3560
class CDOTA_Modifier_DataDriven : public CDOTA_Buff
{
public:
AbilityID_t m_nAbilityID; // 0x11d8
int32_t m_nIndexInAbility; // 0x11dc
bool m_bIsHidden; // 0x11e0
bool m_bIsDebuff; // 0x11e1
bool m_bIsPurgable; // 0x11e2
bool m_bIsStunDebuff; // 0x11e3
bool m_bAllowIllusionDuplicate; // 0x11e4
bool m_bRemoveOnDeath; // 0x11e5
private:
[[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6
public:
char* m_pszAuraModifier; // 0x11e8
int32_t m_nAuraModifierIndex; // 0x11f0
int32_t m_nAuraRadius; // 0x11f4
int32_t m_nAuraSearchTeam; // 0x11f8
int32_t m_nAuraSearchType; // 0x11fc
int32_t m_nAuraSearchFlags; // 0x1200
bool m_bAuraApplyToCaster; // 0x1204
bool m_bAuraApplyToParent; // 0x1205
private:
[[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206
public:
int32_t m_nAttributes; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
char* m_pszEffectName; // 0x1210
int32_t m_nEffectAttachType; // 0x1218
int32_t m_nPriority; // 0x121c
char* m_pszStatusEffectName; // 0x1220
int32_t m_nStatusEffectPriority; // 0x1228
int32_t m_nOverrideAnimation; // 0x122c
int32_t m_nOrbPriority; // 0x1230
int32_t m_nOrbLabel; // 0x1234
bool m_bOrbIsCastAttack; // 0x1238
private:
[[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239
public:
float m_flThinkInterval; // 0x123c
bool m_bNeedsReParseIfRefreshed; // 0x1240
private:
[[maybe_unused]] uint8_t __pad1241[0x7]; // 0x1241
public:
char* m_pszModelName; // 0x1248
char* m_pszOrbProjectileName; // 0x1250
private:
[[maybe_unused]] uint8_t __pad1258[0x2200]; // 0x1258
public:
uint64_t m_nModifierStatesEnabled; // 0x3458
uint64_t m_nModifierStatesDisabled; // 0x3460
KeyValues* m_pOnCreated; // 0x3468
KeyValues* m_pOnIntervalThink; // 0x3470
KeyValues* m_pOnDestroy; // 0x3478
KeyValues* m_pOnAttackStart; // 0x3480
KeyValues* m_pOnAttack; // 0x3488
KeyValues* m_pOnAttackLanded; // 0x3490
KeyValues* m_pOnAttackFailed; // 0x3498
KeyValues* m_pOnAttackAllied; // 0x34a0
KeyValues* m_pOnProjectileDodge; // 0x34a8
KeyValues* m_pOnOrder; // 0x34b0
KeyValues* m_pOnUnitMoved; // 0x34b8
KeyValues* m_pOnAbilityStart; // 0x34c0
KeyValues* m_pOnAbilityExecuted; // 0x34c8
KeyValues* m_pOnBreakInvisibility; // 0x34d0
KeyValues* m_pOnAbilityEndChannel; // 0x34d8
KeyValues* m_pOnTakeDamage; // 0x34e0
KeyValues* m_pOnDealDamage; // 0x34e8
KeyValues* m_pOnStateChanged; // 0x34f0
KeyValues* m_pOnAttacked; // 0x34f8
KeyValues* m_pOnDeath; // 0x3500
KeyValues* m_pOnKill; // 0x3508
KeyValues* m_pOnRespawn; // 0x3510
KeyValues* m_pOnSpentMana; // 0x3518
KeyValues* m_pOnTeleporting; // 0x3520
KeyValues* m_pOnTeleported; // 0x3528
KeyValues* m_pOnHealthGained; // 0x3530
KeyValues* m_pOnManaGained; // 0x3538
KeyValues* m_pOnHeroKilled; // 0x3540
KeyValues* m_pOnHealReceived; // 0x3548
KeyValues* m_pOnAttackFinished; // 0x3550
KeyValues* m_pOnAttackCancelled; // 0x3558
};
// Alignment: 1
// Size: 0x12c8
class CDOTA_Modifier_Lua : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0xe8]; // 0x11d8
public:
bool m_bHasCustomTransmitterData; // 0x12c0
};
// Alignment: 0
// Size: 0x12c8
class CDOTA_Modifier_Lua_Horizontal_Motion : public CDOTA_Modifier_Lua
{
public:
// No members available
};
// Alignment: 0
// Size: 0x12c8
class CDOTA_Modifier_Lua_Vertical_Motion : public CDOTA_Modifier_Lua
{
public:
// No members available
};
// Alignment: 0
// Size: 0x12c8
class CDOTA_Modifier_Lua_Motion_Both : public CDOTA_Modifier_Lua
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike : public CDOTA_Buff
{
public:
float strike_interval; // 0x11d8
int32_t radius; // 0x11dc
int32_t strike_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Disruptor_Thunder_Strike_On_Attack : public CDOTA_Buff
{
public:
int32_t strike_chance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff
{
public:
int32_t slow_amount; // 0x11d8
};
// Alignment: 1
// Size: 0x1248
class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse : public CDOTA_Buff
{
public:
Vector m_PositionIndex[9]; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Attack_Buff : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Thinker : public CDOTA_Buff
{
public:
Vector m_vStartLoc; // 0x11d8
CHandle< C_BaseEntity > m_hEntity; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Disruptor_Glimpse_Travel_Damage : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t max_ticks; // 0x11dc
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Disruptor_KineticFieldThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float formation_time; // 0x11dc
bool m_bActive; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0xb]; // 0x11e1
public:
int32_t m_nFXIndex; // 0x11ec
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Disruptor_KineticField : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
Vector m_vOriginLoc; // 0x11dc
bool m_bCanBeAffected; // 0x11e8
bool m_bTruesight; // 0x11e9
private:
[[maybe_unused]] uint8_t __pad11ea[0x2]; // 0x11ea
public:
int32_t intellect_bonus; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormThinker : public CDOTA_Buff
{
public:
int32_t m_nCurrentPulse; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage_max; // 0x11e0
int32_t pulses; // 0x11e4
float duration; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
int32_t movement_speed_reduction; // 0x11dc
int32_t attack_speed_reduction; // 0x11e0
bool m_bHasScepter; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Disruptor_StaticStormMute : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Disruptor_StaticStorm_Damage_Reduction : public CDOTA_Buff
{
public:
int32_t damage_reduction_pct; // 0x11d8
int32_t move_slow_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase : public CDOTA_Buff
{
public:
int32_t int_increase_amount; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_Disruptor_ThunderStrike_Int_Increase_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Magnataur_Horn_Toss_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Magnataur_Shockwave_Damage_Reduction : public CDOTA_Buff
{
public:
int32_t damage_reduction_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Magnataur_Shockwave_Pull : public CDOTA_Buff
{
public:
Vector m_vDirection; // 0x11d8
float m_flEndTime; // 0x11e4
float m_flCurTime; // 0x11e8
float pull_duration; // 0x11ec
float effective_distance; // 0x11f0
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Magnataur_Empower : public CDOTA_Buff
{
public:
int32_t bonus_damage_pct; // 0x11d8
float cleave_damage_pct; // 0x11dc
int32_t cleave_starting_width; // 0x11e0
int32_t cleave_ending_width; // 0x11e4
int32_t cleave_distance; // 0x11e8
float splash_damage_pct; // 0x11ec
int32_t splash_radius; // 0x11f0
float self_multiplier; // 0x11f4
int32_t lifesteal_pct; // 0x11f8
GameTime_t m_fLastShockwaveProcTime; // 0x11fc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Impact : public CDOTA_Buff
{
public:
float slow_duration; // 0x11d8
int32_t skewer_damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Magnataur_Skewer_Slow : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff
{
public:
int32_t strength_gain; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Magnataur_ReversePolarity_Steroid : public CDOTA_Buff
{
public:
int32_t move_speed_percent; // 0x11d8
int32_t attack_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Magnataur_Reverse_Polarity_Polarity_Dummy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff
{
public:
int32_t base_damage; // 0x11d8
int32_t attack_factor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PhantomAssassin_StiflingDagger : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_On_Attack : public CDOTA_Buff
{
public:
int32_t strike_chance; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_Stifling_Dagger_AutoDagger : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PhantomAssassin_PhantomStrike : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_evasion; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_PhantomAssassin_PhantomStrike_Damage_Reduction : public CDOTA_Buff
{
public:
int32_t damage_reduction_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PhantomAssassin_Blur : public CDOTA_Buff
{
public:
int32_t bonus_evasion; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
float fade_duration; // 0x11ec
bool m_bDestroyNext; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PhantomAssassin_CoupdeGrace : public CDOTA_Buff
{
public:
int32_t crit_bonus; // 0x11d8
int32_t crit_chance; // 0x11dc
bool crit_active; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PhantomAssassin_MarkedForDeath : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_PhantomAssassin_CoupDeGrace_BloodyDebuff : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 3
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_Splitshot : public CDOTA_Buff
{
public:
int32_t damage_modifier; // 0x11d8
int32_t split_shot_bonus_range; // 0x11dc
int32_t arrow_count; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Arctic_Burn_DoubleAttack : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_iAttacksRemaining; // 0x11dc
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff
{
public:
float attack_point; // 0x11d8
int32_t attack_range_bonus; // 0x11dc
int32_t projectile_speed_bonus; // 0x11e0
int32_t night_vision_bonus; // 0x11e4
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff
{
public:
float damage_per_second; // 0x11d8
int32_t move_slow; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Splinter_Blast_Vacuum : public CDOTA_Buff
{
public:
float pull_speed; // 0x11d8
Vector vPullLocation; // 0x11dc
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff
{
public:
int32_t m_nOriginalAttackCapability; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x8]; // 0x11dc
public:
bool m_bDidBlast; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t heal_additive; // 0x11e8
float heal_percentage; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Winter_Wyvern_Cold_Embrace_Magic_Damage_Block : public CDOTA_Buff
{
public:
int32_t barrier_amount; // 0x11d8
int32_t barrier_block; // 0x11dc
int32_t m_nMaxMovementSpeed; // 0x11e0
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_nAlliesTaunted; // 0x11dc
bool m_bRelicTriggered; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t radius; // 0x11e4
int32_t damage_amplification; // 0x11e8
int32_t damage_reduction; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Winter_Wyvern_Winters_Curse : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Slow : public CDOTA_Buff
{
public:
bool m_bIsPointBlank; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t movement_slow_pct; // 0x11dc
int32_t attack_slow_pct; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_Scatterblast_Disarm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff
{
public:
float jump_duration; // 0x11d8
bool m_bMovesHorizontal; // 0x11dc
bool m_bSecondaryCookie; // 0x11dd
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Snapfire_FiresnapCookie_AlliedBuff : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t bonus_attack_damage; // 0x11dc
};
// Alignment: 11
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Buff : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
int32_t m_nIsActive; // 0x11f8
bool m_bHasAttackTalent; // 0x11fc
private:
[[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd
public:
int32_t attack_range_bonus; // 0x1200
int32_t buffed_attacks; // 0x1204
float base_attack_time; // 0x1208
int32_t attack_speed_bonus; // 0x120c
float armor_duration; // 0x1210
int32_t damage; // 0x1214
int32_t bounce_range; // 0x1218
int32_t bounces; // 0x121c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Attack : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Snapfire_LilShredder_Debuff : public CDOTA_Buff
{
public:
float armor_reduction_per_attack; // 0x11d8
};
// Alignment: 16
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses : public CDOTA_Buff
{
public:
float m_fIntervalPerRocket; // 0x11d8
float m_flFacingTarget; // 0x11dc
ParticleIndex_t m_nBeamFXIndex; // 0x11e0
CHandle< C_BaseEntity > m_hBeamEnd; // 0x11e4
float m_flCurDistance; // 0x11e8
Vector m_vAimTarget; // 0x11ec
float m_fLastTurnAmount; // 0x11f8
int32_t m_nProjectilesLaunched; // 0x11fc
bool m_bDestroyOnNextThink; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_nProjectilesToLaunch; // 0x1204
bool m_bHasProjectileTalent; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209
public:
int32_t projectile_count; // 0x120c
int32_t projectile_vision; // 0x1210
float turn_rate; // 0x1214
int32_t min_range; // 0x1218
float delay_after_last_projectile; // 0x121c
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Thinker : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
int32_t impact_radius; // 0x11dc
int32_t move_slow_pct; // 0x11e0
float burn_linger_duration; // 0x11e4
ParticleIndex_t m_nPathEffectIndex; // 0x11e8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Snapfire_Magma_Burn_Slow : public CDOTA_Buff
{
public:
int32_t m_nMoveSlowPct; // 0x11d8
float m_fBurnDamagePerTick; // 0x11dc
int32_t move_slow_pct; // 0x11e0
float burn_interval; // 0x11e4
int32_t burn_damage; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_Creep : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11d8
float max_time_in_belly; // 0x11dc
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff
{
public:
int32_t min_range; // 0x11d8
float min_lob_travel_time; // 0x11dc
float max_lob_travel_time; // 0x11e0
int32_t impact_radius; // 0x11e4
int32_t projectile_vision; // 0x11e8
float stun_duration; // 0x11ec
int32_t impact_damage; // 0x11f0
float min_height_above_lowest; // 0x11f4
float min_height_above_highest; // 0x11f8
float min_acceleration; // 0x11fc
float max_acceleration; // 0x1200
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Autoattack : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Snapfire_MortimerKisses_Incoming_Damage_Reduction : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Tusk_IceShard : public CDOTA_Buff
{
public:
Vector m_vPos; // 0x11d8
int32_t radius; // 0x11e4
float damage; // 0x11e8
float explosion_interval; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Target : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Visible : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch : public CDOTA_Buff
{
public:
int32_t crit_multiplier; // 0x11d8
float air_time; // 0x11dc
float slow_duration; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11f0
bool m_bWalrusPunch; // 0x11f4
bool m_bPunchKill; // 0x11f5
private:
[[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_WalrusPunch_AirTime : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
float slow_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_Tag_Team_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Tusk_Snowball_SpellLifesteal : public CDOTA_Buff
{
public:
float spell_lifesteal_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Tusk_Ice_Shards_Explode_Dummy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes : public CDOTA_Buff
{
public:
int32_t damage_per_stack; // 0x11d8
float bonus_reset_time; // 0x11dc
float bonus_reset_time_roshan; // 0x11e0
int32_t max_swipe_stack; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff
{
public:
int32_t damage_per_stack; // 0x11d8
int32_t m_nArmorReductionPerStack; // 0x11dc
int32_t m_nLifestealPerStack; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Ursa_Earthshock_Move : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ursa_Overpower : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus_pct; // 0x11d8
int32_t m_nEarthshockAttacks; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Ursa_Earthshock : public CDOTA_Buff
{
public:
int32_t m_nMissChance; // 0x11d8
bool m_bAddOverpower; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
float m_flOverpowerDuration; // 0x11e0
int32_t m_nNumOverpowerAttacks; // 0x11e4
int32_t movement_slow; // 0x11e8
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis : public CDOTA_Modifier_Invisible
{
public:
CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Ursa_Earthshock_DeepInvis_Visual : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_Special_Ursa_Earthshock_Knockback : public CDOTA_Modifier_Knockback
{
public:
float value3; // 0x1208
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ursa_Overpower_Evasion : public CDOTA_Buff
{
public:
int32_t value2; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
bool m_bDidSetAttackTarget; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Ursa_Overpower_Taunt_Armor : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ursa_Enrage : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t status_resistance; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ursa_Enrage_Magic_Immunity : public CDOTA_Modifier_MagicImmune
{
public:
int32_t m_nModelScale; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Ursa_Enrage_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_Armor : public CDOTA_Buff
{
public:
int32_t value2; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Ursa_Enrage_AttackSpeed : public CDOTA_Buff
{
public:
int32_t value2; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Mars_Spear_Impale : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Mars_Spear_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff
{
public:
float radius; // 0x11d8
float formation_time; // 0x11dc
float m_flInitialZ; // 0x11e0
float m_flFinalZ; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Animation : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Buff : public CDOTA_Buff
{
public:
int32_t health_regen; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t width; // 0x11dc
int32_t spear_damage; // 0x11e0
int32_t spear_distance_from_wall; // 0x11e4
float spear_attack_interval; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x1c]; // 0x11ec
public:
float warrior_fade_min_dist; // 0x1208
float warrior_fade_max_dist; // 0x120c
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Leash : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float width; // 0x11dc
Vector m_vOriginLoc; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Mars_ArenaOfBlood_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Mars_Gods_Rebuke : public CDOTA_Buff
{
public:
int32_t knockback_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Mars_GodsRebuke_Crit : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Mars_Bulwark : public CDOTA_Buff
{
public:
float physical_damage_reduction; // 0x11d8
float physical_damage_reduction_side; // 0x11dc
float forward_angle; // 0x11e0
float side_angle; // 0x11e4
};
// Alignment: 12
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Active : public CDOTA_Buff
{
public:
int32_t redirect_chance; // 0x11d8
int32_t redirect_range; // 0x11dc
float forward_angle; // 0x11e0
float side_angle; // 0x11e4
int32_t redirect_speed_penatly; // 0x11e8
int32_t m_nPoseParameterWE; // 0x11ec
int32_t m_nPoseParameterNS; // 0x11f0
float m_flLastPoseX; // 0x11f4
float m_flLastPoseY; // 0x11f8
int32_t m_nLastMaxDirection; // 0x11fc
Vector m_vLastOrigin; // 0x1200
GameTime_t m_flLastGameTime; // 0x120c
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
int32_t path_radius; // 0x11e4
float linger_duration; // 0x11e8
float flDamage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff
{
public:
float flDamage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Mars_Gods_Rebuke_Strength_Buff : public CDOTA_Buff
{
public:
int32_t strength_gain; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Mars_Bulwark_Spears : public CDOTA_Buff
{
public:
int32_t stack_limit; // 0x11d8
float stack_interval; // 0x11dc
ParticleIndex_t m_nFxIndexB; // 0x11e0
int32_t iCur_stack; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 6
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Weaver_Swarm : public CDOTA_Buff
{
public:
int32_t m_iMaxDist; // 0x11d8
int32_t m_iAttackCount; // 0x11dc
int32_t destroy_attacks; // 0x11e0
Vector m_vDirection; // 0x11e4
Vector m_vStartLoc; // 0x11f0
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11fc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Weaver_Swarm_Debuff : public CDOTA_Buff
{
public:
float armor_reduction; // 0x11d8
int32_t damage; // 0x11dc
int32_t damage_share_percentage; // 0x11e0
float m_flCurrentArmorReduction; // 0x11e4
float flTotalDamage; // 0x11e8
};
// Alignment: 7
// Size: 0x1228
class CDOTA_Modifier_Aghsfort_Weaver_Shukuchi : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
int32_t damage; // 0x11ec
int32_t speed; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8
bool bHasStartedBurning; // 0x1210
private:
[[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211
public:
int32_t m_nBurningTrailRadius; // 0x1214
Vector m_vLastTrailThinkerLocation; // 0x1218
};
// Alignment: 2
// Size: 0x1250
class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_iAttacksRemaining; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Weaver_GeminateAttack_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 4
// Size: 0x12b8
class CDOTA_Modifier_Aghsfort_Weaver_TimeLapse : public CDOTA_Buff
{
public:
Vector m_PositionIndex[11]; // 0x11d8
float m_flLife[11]; // 0x125c
float m_flMana[11]; // 0x1288
bool m_bHasValidHistory; // 0x12b4
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
int32_t path_radius; // 0x11e4
float linger_duration; // 0x11e8
float flDamage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Weaver_Shukuchi_Trail_Burn : public CDOTA_Buff
{
public:
float flDamage; // 0x11d8
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack : public CDOTA_Buff
{
public:
float duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Viper_PoisonAttack_Slow : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t magic_resistance; // 0x11e0
float m_flAccumDamage; // 0x11e4
float m_flPoisonSnapCounter; // 0x11e8
int32_t m_nPoisonSnapThreshold; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Viper_Nethertoxin : public CDOTA_Buff
{
public:
int32_t min_damage; // 0x11d8
int32_t max_damage; // 0x11dc
float max_duration; // 0x11e0
float m_flDamageInterval; // 0x11e4
float m_flTimeIncrement; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Viper_NethertoxinMute : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Flying : public CDOTA_Buff
{
public:
int32_t m_nRadius; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin : public CDOTA_Buff
{
public:
int32_t bonus_magic_resistance; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Speed_Steal : public CDOTA_Buff
{
public:
float m_flFactor; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Viper_CorrosiveSkin_Slow : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Viper_ViperStrike_Slow : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t damage; // 0x11e0
bool m_bTargetedAlly; // 0x11e4
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Special_Viper_Periodic_Strike : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t radius; // 0x11dc
int32_t m_nTargetTeam; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 11
// Size: 0x1240
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Unit : public CDOTA_Buff
{
public:
Vector m_vFacingDir; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11e8
ParticleIndex_t m_nBeamFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< int32 > m_nViewerIDs; // 0x1208
int32_t remnant_watch_distance; // 0x1220
int32_t remnant_watch_radius; // 0x1224
float duration; // 0x1228
int32_t watch_path_vision_radius; // 0x122c
int32_t impact_damage; // 0x1230
float pull_duration; // 0x1234
float activation_delay; // 0x1238
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_WatchThinker : public CDOTA_Buff
{
public:
int32_t remnant_watch_radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnant_Pull : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
PlayerID_t m_nPlayerID; // 0x11dc
float think_interval; // 0x11e0
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
Vector m_vFacingDir; // 0x11dc
CHandle< C_BaseEntity > m_hRemnant; // 0x11e8
bool m_bTriggered; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_flCurThink; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AetherRemnantUnit_Truesight : public CDOTA_Buff
{
public:
int32_t m_nRadius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Debuff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXStackIndex; // 0x11d8
int32_t movement_slow_pct; // 0x11dc
int32_t pop_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_AstralStep_Caster : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 19
// Size: 0x1278
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Phase : public CDOTA_Buff
{
public:
Vector m_vFirstPortalPos; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< Vector > m_vecDestinations; // 0x11e8
CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1200
CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1218
int32_t m_nCurrentDestinationIndex; // 0x1230
int32_t m_nClosestIndexPosToClick; // 0x1234
int32_t m_nPortalHeightOffset; // 0x1238
private:
[[maybe_unused]] uint8_t __pad123c[0x4]; // 0x123c
public:
char* m_szAlliesPortalFX; // 0x1240
char* m_szEnemiesPortalFX; // 0x1248
int32_t m_nPortalRadius; // 0x1250
int32_t m_nPortalPadding; // 0x1254
int32_t m_nFinalImpactDamageRadius; // 0x1258
int32_t m_nFinalImpactFXRadius; // 0x125c
int32_t destination_fx_radius; // 0x1260
int32_t damage_radius; // 0x1264
int32_t portals_per_ring; // 0x1268
int32_t angle_per_ring_portal; // 0x126c
int32_t first_ring_distance_offset; // 0x1270
float debuff_duration; // 0x1274
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_Dissimilate_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_PhysicalBuff : public CDOTA_Buff
{
public:
int32_t base_absorb_amount; // 0x11d8
int32_t m_nAbsorbRemaining; // 0x11dc
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_AghsFort_VoidSpiritBoss_ResonantPulse_Ring : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8
int32_t speed; // 0x1200
int32_t radius; // 0x1204
int32_t damage; // 0x1208
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float duration; // 0x11dc
float damage_delay; // 0x11e0
int32_t m_nShrapnelPct; // 0x11e4
bool m_bExploded; // 0x11e8
};
// Alignment: 0
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Thinker : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Thinker
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow : public CDOTA_Buff
{
public:
float m_fAccumulatedDamage; // 0x11d8
int32_t shrapnel_damage; // 0x11dc
int32_t slow_movement_speed; // 0x11e0
int32_t miss_chance; // 0x11e4
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Sniper_TakeAim_Artillery_Slow : public CDOTA_Modifier_AghsFort_Sniper_Shrapnel_Slow
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
float value2; // 0x11dc
int32_t m_nAttackSpeedBonus; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Sniper_Shrapnel_AttackSpeed_Decrementer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1228
class CDOTA_Modifier_AghsFort_Sniper_Headshot : public CDOTA_Buff
{
public:
int32_t proc_chance; // 0x11d8
float slow_duration; // 0x11dc
int32_t damage; // 0x11e0
int32_t knockback_distance; // 0x11e4
GameTime_t m_fLastStunProcTime; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< int16 > m_vHeadshotRecords; // 0x11f0
CUtlVector< int16 > m_vHeadshotAssassinateRecords; // 0x1208
int32_t m_nCritPct; // 0x1220
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Sniper_Shotgun : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Sniper_Headshot_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t slow_vs_considered_hero; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Sniper_TakeAim : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t active_attack_range_multiplier; // 0x11dc
};
// Alignment: 5
// Size: 0x1208
class CDOTA_Modifier_AghsFort_Sniper_TakeAim_Bonus : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t m_nAttackSpeedPerAttack; // 0x11dc
int32_t m_nShrapnelPct; // 0x11e0
bool m_bNoCollision; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecArtilleryEnemies; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Sniper_TakeAim_ArmorReduction : public CDOTA_Buff
{
public:
int32_t value2; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Sniper_TakeAim_RapidFire : public CDOTA_Buff
{
public:
int32_t value2; // 0x11d8
int32_t value3; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Sniper_TakeAim_AOE_Marked : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Sniper_TakeAim_HopBackwards : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Sniper_Assassinate : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_Sniper_Assassinate_Killshot : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Sniper_Concussive_Grenade : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Sniper_Headshot_ArmorReduction : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_StoneThinker : public CDOTA_Buff
{
public:
bool m_bHasBeenMagnetized; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash : public CDOTA_Buff
{
public:
bool m_bInterrupted; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t m_nProjectileID; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_RollingBoulder_Caster : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_BoulderSmash_Debuff : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeogmagneticGrip_Debuff : public CDOTA_Modifier_Silence
{
public:
// No members available
};
// Alignment: 10
// Size: 0x1228
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_GeomagneticGrip : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t rock_damage; // 0x11dc
float pull_units_per_second; // 0x11e0
float pull_units_per_second_heroes; // 0x11e4
float total_pull_distance; // 0x11e8
float duration; // 0x11ec
bool m_bUsedStone; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
Vector m_vDestination; // 0x11f4
Vector m_vLocation; // 0x1200
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Petrify : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
bool m_bHasBeenMagnetized; // 0x11dc
};
// Alignment: 10
// Size: 0x1218
class CDOTA_Modifier_AghsFort_EarthSpiritBoss_Magnetize : public CDOTA_Buff
{
public:
int32_t rock_search_radius; // 0x11d8
int32_t damage_per_second; // 0x11dc
float damage_interval; // 0x11e0
float rock_explosion_delay; // 0x11e4
float damage_duration; // 0x11e8
int32_t cast_radius; // 0x11ec
int32_t rock_explosion_radius; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x11f8
float duration; // 0x1210
bool m_bShowOverhead; // 0x1214
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Cooldown_Reduction : public CDOTA_Buff
{
public:
float cooldown_reduction_per_hit; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Omniknight_Purification_Multicast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Omniknight_Degen_Aura_Effect : public CDOTA_Buff
{
public:
int32_t move_speed_bonus; // 0x11d8
int32_t attack_speed_bonus; // 0x11dc
float damage_interval; // 0x11e0
int32_t attack_damage_pct; // 0x11e4
int32_t death_heal; // 0x11e8
bool bIsAllied; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Omniknight_Repel : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
float hp_regen; // 0x11dc
int32_t bonus_str; // 0x11e0
int32_t damage_increase_outgoing_pct; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Omniknight_GuardianAngel : public CDOTA_Buff
{
public:
int32_t hp_regen; // 0x11d8
int32_t magic_resistance; // 0x11dc
int32_t purification_trigger_chance; // 0x11e0
float purification_trigger_cooldown; // 0x11e4
GameTime_t m_fLastProc; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Omniknight_Repel_Damage_Instance_Refraction : public CDOTA_Buff
{
public:
int32_t damage_threshold; // 0x11d8
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_Omniknight_Repel_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Omniknight_Guardian_Angel_Single_Target_Dummy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_WitchDoctor_Cask_Thinker : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t remaining_bounces; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff
{
public:
int32_t heal; // 0x11d8
float mana_per_second; // 0x11dc
float heal_interval; // 0x11e0
int32_t lifesteal_percent; // 0x11e4
int32_t spell_lifesteal_pct; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_WitchDoctor_MaledictDoT : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_WitchDoctor_Maledict : public CDOTA_Buff
{
public:
int32_t m_iStartHealth; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t bonus_damage_threshold; // 0x11e0
int32_t max_bonus_damage; // 0x11e4
int32_t ticks; // 0x11e8
int32_t iCurrentTick; // 0x11ec
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_WitchDoctor_DeathWard : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t m_iBounceRadius; // 0x11dc
bool m_bFirstAttack; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t m_iBounces; // 0x11e4
ParticleIndex_t m_nStaffParticle; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_WitchDoctor_ParalyzingCask_Attack_Procs : public CDOTA_Buff
{
public:
int32_t cask_chance; // 0x11d8
int32_t cask_cooldown; // 0x11dc
GameTime_t flLastProcTime; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_WitchDoctor_DeathWard_Damage_Resist : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Aghsfort_Modifier_WitchDoctor_ForceKill : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Witch_Doctor_Death_Ward_No_Channel : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Special_Witch_Doctor_Death_Ward_Splitshot : public CDOTA_Buff
{
public:
int32_t damage_modifier; // 0x11d8
int32_t split_shot_bonus_range; // 0x11dc
int32_t split_shot_count; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionDamage : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff
{
public:
int32_t damage_threshold; // 0x11d8
int32_t max_damage_absorb; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld_Animation : public CDOTA_Buff
{
public:
bool launched_attack; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_TemplarAssassin_Meld : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
bool launched_attack; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_MeldArmor : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
float attack_spill_range; // 0x11dc
int32_t attack_spill_width; // 0x11e0
int32_t attack_spill_pct; // 0x11e4
int32_t attack_spill_penalty; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_Psionic_Trap_Thinker : public CDOTA_Buff
{
public:
int32_t trap_radius; // 0x11d8
float trap_delay_time; // 0x11dc
float slow_duration; // 0x11e0
int32_t max_pulses; // 0x11e4
int32_t iCurrentPulse; // 0x11e8
CHandle< C_BaseEntity > m_hImage; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TemplarAssassin_Trap_Slow : public CDOTA_Buff
{
public:
int32_t movement_speed_slow; // 0x11d8
int32_t trap_damage; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t damage_absorb; // 0x11dc
float m_flDamageAbsorbed; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_PsiBlades_AutoAttack : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Templar_Assassin_Trap_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Slark_DarkPact : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Slark_DarkPact_Pulses : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float total_damage; // 0x11dc
int32_t total_pulses; // 0x11e0
int32_t heal_pct; // 0x11e4
float pulse_interval; // 0x11e8
bool bIsBaseAbility; // 0x11ec
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_Slark_Pounce : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x11d8
int32_t pounce_distance; // 0x11f0
int32_t pounce_distance_default; // 0x11f4
float pounce_speed; // 0x11f8
float pounce_acceleration; // 0x11fc
int32_t pounce_radius; // 0x1200
int32_t pounce_damage; // 0x1204
float leash_duration; // 0x1208
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Slark_Pounce_Leash : public CDOTA_Buff
{
public:
int32_t leash_radius; // 0x11d8
Vector vLeashLocation; // 0x11dc
bool m_bEscaped; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
float pounce_damage_multiplier; // 0x11ec
int32_t pounce_damage; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Counter : public CDOTA_Buff
{
public:
int32_t max_stacks; // 0x11d8
int32_t passive_agility; // 0x11dc
GameTime_t flLastProcTime; // 0x11e0
float debuff_duration; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Slark_EssenceShift_Active : public CDOTA_Buff
{
public:
int32_t agi_gain; // 0x11d8
int32_t iPrimaryAttribute; // 0x11dc
float model_scale; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Slark_Essence_Shift_Debuff : public CDOTA_Buff
{
public:
int32_t reduction; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Aura : public CDOTA_Buff
{
public:
int32_t scepter_aoe; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_regen_pct; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Slark_ShadowDance : public CDOTA_Modifier_Invisible
{
public:
CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
GameTime_t flLastPulseTime; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Slark_ShadowDance_Visual : public CDOTA_Buff
{
public:
bool m_bScepter; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Leashed_Bonus : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Slark_Shadow_Dance_Leash : public CDOTA_Buff
{
public:
Vector m_vPullLocation; // 0x11d8
float pull_speed; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_Slark_Pounce_Projectiles : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_AghsFort_QueenOfPain_ShadowStrike : public CDOTA_Buff
{
public:
int32_t duration_damage; // 0x11d8
int32_t duration_heal; // 0x11dc
int32_t movement_slow; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CountdownTimer m_SlowInterval; // 0x11e8
float m_flSlowStep; // 0x1200
float m_flSlowStepStep; // 0x1204
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_QueenOfPain_Blink_AttackSpeed : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
int32_t m_nRadius; // 0x11e4
ParticleIndex_t m_nTrailFX; // 0x11e8
float linger_duration; // 0x11ec
float flDamage; // 0x11f0
float damage_pct; // 0x11f4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_Sonic_Wave_Trail_Burn : public CDOTA_Buff
{
public:
float flDamage; // 0x11d8
float burn_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_ShadowStrike_On_Attack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_QueenOfPain_Blink_Scream_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_QueenOfPain_Scream_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_QueenOfPain_SonicWave_AttackBuff : public CDOTA_Buff
{
public:
int32_t spell_amp; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_TuskBoss_IceShard : public CDOTA_Buff
{
public:
Vector m_vPos; // 0x11d8
int32_t radius; // 0x11e4
float damage; // 0x11e8
float explosion_interval; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Target : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Visible : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_TuskBoss_Snowball_Movement_Friendly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch : public CDOTA_Buff
{
public:
int32_t crit_multiplier; // 0x11d8
float air_time; // 0x11dc
float slow_duration; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11f0
bool m_bWalrusPunch; // 0x11f4
bool m_bPunchKill; // 0x11f5
private:
[[maybe_unused]] uint8_t __pad11f6[0x2]; // 0x11f6
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TuskBoss_WalrusPunch_AirTime : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
float slow_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TuskBoss_Tag_Team_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_TuskBoss_Ice_Shards_Explode_Dummy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float health_threshold_pct; // 0x11dc
float duration; // 0x11e0
CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11e4
CHandle< C_BaseEntity > m_hChaseUnit; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_Tombstone_HP : public CDOTA_Buff
{
public:
int32_t tombstone_health; // 0x11d8
int32_t bonus_health; // 0x11dc
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float zombie_interval; // 0x11dc
int32_t spawn_at_parent; // 0x11e0
int32_t remove_on_death; // 0x11e4
float knockback_duration; // 0x11e8
int32_t knockback_distance; // 0x11ec
int32_t knockback_height; // 0x11f0
int32_t spawn_distance; // 0x11f4
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11d8
float heal_percent_per_tick; // 0x11dc
int32_t tombstone_grab_radius; // 0x11e0
ParticleIndex_t m_nBunkerEnterFXIndex; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Undying_Decay_BuffCounter : public CDOTA_Buff
{
public:
float m_fStrengthStolen; // 0x11d8
float model_scale_per_strength; // 0x11dc
float model_scale_max; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Undying_Decay_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
float interval; // 0x11dc
int32_t extra_decays; // 0x11e0
int32_t radius; // 0x11e4
int32_t decay_strength_percent; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_Decay_Buff : public CDOTA_Buff
{
public:
float str_stolen; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Decay_On_Attack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Undying_SoulRipWard : public CDOTA_Buff
{
public:
int32_t ward_radius; // 0x11d8
int32_t explosion_damage; // 0x11dc
float taunt_interval; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_SoulRip_Share_Strength : public CDOTA_Buff
{
public:
float str_gain; // 0x11d8
int32_t model_scale; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
float m_flDecrementTime; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff
{
public:
int32_t bonus_move_speed; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Undying_Exploding_Zombie : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Undying_ConsumeZombies_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Undying_ConsumeZombies_Buff : public CDOTA_Buff
{
public:
int32_t bonus_move_speed_per_stack; // 0x11d8
int32_t bonus_attack_speed_per_stack; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_FleshGolem : public CDOTA_Buff
{
public:
int32_t str_percentage; // 0x11d8
int32_t movement_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Undying_FleshGolem_Slow : public CDOTA_Buff
{
public:
int32_t damage_amp; // 0x11d8
int32_t slow; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Undying_FleshGolem_PlagueAura : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t damage; // 0x11dc
float tick_rate; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Undying_Tombstone_Death_Trigger : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_Undying_ConsumeZombies_Dummy : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Ignite : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
float burn_damage; // 0x11dc
int32_t mana_restore; // 0x11e0
};
// Alignment: 11
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Thinker : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
int32_t m_iDamage; // 0x11f0
float m_flStunDuration; // 0x11f4
int32_t light_strike_array_damage; // 0x11f8
float light_strike_array_stun_duration; // 0x11fc
float light_strike_array_delay; // 0x1200
int32_t m_nLSARadius; // 0x1204
int32_t m_nCount; // 0x1208
int32_t max_count; // 0x120c
int32_t iPower; // 0x1210
float pulse_interval; // 0x1214
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Vacuum : public CDOTA_Buff
{
public:
float pull_speed; // 0x11d8
Vector vPullLocation; // 0x11dc
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_Lina_FierySoul_Active : public CDOTA_Buff
{
public:
int32_t attack_range_per_stack; // 0x11d8
bool m_bShouldReset; // 0x11dc
bool m_bIsActive; // 0x11dd
private:
[[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de
public:
int32_t fiery_soul_attack_speed_bonus; // 0x11e0
float fiery_soul_move_speed_bonus; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Lina_FierySoul : public CDOTA_Buff
{
public:
int32_t fiery_soul_attack_speed_bonus; // 0x11d8
float fiery_soul_move_speed_bonus; // 0x11dc
int32_t fiery_soul_max_stacks; // 0x11e0
float fiery_soul_stack_duration; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
GameTime_t m_flFierySoulDieTime; // 0x11ec
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade_Line : public CDOTA_Buff
{
public:
Vector vStart; // 0x11d8
Vector vEnd; // 0x11e4
float damage_delay; // 0x11f0
CHandle< C_BaseEntity > m_hMainTarget; // 0x11f4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Lina_LagunaBlade : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Special_Lina_Fiery_Soul_Splitshot : public CDOTA_Buff
{
public:
int32_t damage_modifier; // 0x11d8
int32_t split_shot_bonus_range; // 0x11dc
int32_t arrow_count; // 0x11e0
};
// Alignment: 7
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Channel : public CDOTA_Buff
{
public:
int32_t stack_limit; // 0x11d8
float stack_interval; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesToHit; // 0x11e0
ParticleIndex_t m_nFxIndexB; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CUtlVector< ParticleIndex_t > m_nFXIndices; // 0x1200
int32_t bounces_remaining; // 0x1218
int32_t iCur_stack; // 0x121c
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Special_Lina_Laguna_Blade_Bounce : public CDOTA_Buff
{
public:
int32_t bounces_remaining; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Lina_Light_Strike_Array_Attacks_Bonus : public CDOTA_Buff
{
public:
float attack_damage; // 0x11d8
int32_t damage_penalty; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Lina_LightStrikeArray_Stun : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Lina_DragonSlave_Movement : public CDOTA_Buff
{
public:
float m_flPushDistance; // 0x11d8
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury : public CDOTA_Buff
{
public:
int32_t blade_fury_radius; // 0x11d8
int32_t blade_fury_damage; // 0x11dc
float blade_fury_damage_tick; // 0x11e0
int32_t movement_bonus; // 0x11e4
int32_t spark_radius; // 0x11e8
int32_t spark_damage_percent; // 0x11ec
bool m_bDestroyParentThinkerOnDeath; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Juggernaut_BladeFury_Force_Pull : public CDOTA_Buff
{
public:
int32_t blade_fury_radius; // 0x11d8
int32_t pull_speed; // 0x11dc
int32_t pull_stop; // 0x11e0
Vector pull_origin; // 0x11e4
GameTime_t m_flLastThinkTime; // 0x11f0
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward : public CDOTA_Buff
{
public:
int32_t healing_ward_aura_radius; // 0x11d8
float healing_ward_heal_amount; // 0x11dc
float healing_ward_interval; // 0x11e0
int32_t m_nTotalHealing; // 0x11e4
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Juggernaut_Healing_Ward_Primed : public CDOTA_Buff
{
public:
int32_t healing_ward_aura_radius; // 0x11d8
int32_t trigger_radius; // 0x11dc
int32_t search_radius; // 0x11e0
int32_t damage_percent; // 0x11e4
int32_t movement_bonus; // 0x11e8
int32_t power; // 0x11ec
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward : public CDOTA_Buff
{
public:
int32_t healing_ward_aura_radius; // 0x11d8
float healing_ward_heal_amount; // 0x11dc
float healing_ward_interval; // 0x11e0
int32_t m_nTotalRegen; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Juggernaut_Zen_Ward_Armor : public CDOTA_Buff
{
public:
int32_t armor_bonus; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance : public CDOTA_Buff
{
public:
int32_t blade_dance_crit_mult; // 0x11d8
int32_t blade_dance_crit_chance; // 0x11dc
bool m_bDidBladeDanceCrit; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Juggernaut_BladeDance_Buff : public CDOTA_Buff
{
public:
int32_t evasion_per_stack; // 0x11d8
int32_t movespeed_per_stack; // 0x11dc
int32_t evasion_bonus; // 0x11e0
int32_t movespeed_bonus; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Juggernaut_Double_Attack : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
float bonus_attack_duration; // 0x11dc
int32_t bonus_attack_count; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
float m_fBonusRange; // 0x11e8
};
// Alignment: 16
// Size: 0x1230
class CDOTA_modifier_aghsfort_juggernaut_omnislash : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
CHandle< C_BaseEntity > m_hLastTarget; // 0x11dc
int32_t m_nJumps; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t bonus_attack_speed; // 0x11e8
int32_t omni_slash_radius; // 0x11ec
float attack_rate_multiplier; // 0x11f0
int32_t upgraded_radius; // 0x11f4
int32_t m_iTotalDamage; // 0x11f8
int32_t m_iHeroDamage; // 0x11fc
bool m_bReflection; // 0x1200
bool m_bFirstHit; // 0x1201
bool m_bEndNext; // 0x1202
private:
[[maybe_unused]] uint8_t __pad1203[0x1]; // 0x1203
public:
GameTime_t m_fNextAttackTime; // 0x1204
Vector m_vCastOrigin; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214
public:
CUtlVector< CHandle< C_BaseEntity > > m_hIllusions; // 0x1218
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_modifier_aghsfort_juggernaut_omnislash_Camera : public CDOTA_Buff
{
public:
bool m_bIsDone; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
CHandle< C_BaseEntity > m_hFollowEnt; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_modifier_aghsfort_juggernaut_omnislash_Invulnerability : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite : public CDOTA_Buff
{
public:
int32_t slow_movement_speed_pct; // 0x11d8
float tick_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Invuln : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Juggernaut_Omnislash_Ignite_Disarm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_AghsFort2_DrowRanger_FrostArrows_Chill : public CDOTA_Buff
{
public:
float interval; // 0x11d8
int32_t max_stacks; // 0x11dc
int32_t damage_percent; // 0x11e0
int32_t movement_damage_percent; // 0x11e4
int32_t m_nDamage; // 0x11e8
ParticleIndex_t m_nFXStackIndex; // 0x11ec
Vector m_vLastPosition; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence : public CDOTA_Buff
{
public:
int32_t blind_percent; // 0x11d8
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Echo_Thinker : public CDOTA_Buff
{
public:
Vector m_vTarget; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Movement : public CDOTA_Buff
{
public:
int32_t movespeed_percent; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Frost : public CDOTA_Buff
{
public:
float m_fDamagePerSecond; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_AghsFort2_DrowRanger_WaveOfSilence_Agility : public CDOTA_Buff
{
public:
CUtlVector< GameTime_t > m_AgilityTimers; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Buff : public CDOTA_Buff
{
public:
int32_t damage_percent; // 0x11d8
int32_t knockback_distance; // 0x11dc
float knockback_duration; // 0x11e0
int32_t move_speed_percent; // 0x11e4
int32_t max_move_speed_percent; // 0x11e8
int32_t model_scale; // 0x11ec
int32_t max_model_scale; // 0x11f0
bool m_bActive; // 0x11f4
};
// Alignment: 15
// Size: 0x1228
class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot : public CDOTA_Buff
{
public:
int32_t arrow_width; // 0x11d8
float arrow_speed; // 0x11dc
int32_t range; // 0x11e0
int32_t wave_count; // 0x11e4
float wave_delay; // 0x11e8
int32_t arrow_count_per_wave; // 0x11ec
float arrow_delay; // 0x11f0
float per_arrow_angle; // 0x11f4
float m_fYawOffset; // 0x11f8
int32_t m_iWaveIndex; // 0x11fc
int32_t m_iArrowIndex; // 0x1200
Vector m_vTarget; // 0x1204
QAngle m_vWaveAngle; // 0x1210
float m_flInterval; // 0x121c
GameTime_t m_flNextThink; // 0x1220
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_SideLine : public CDOTA_Buff
{
public:
int32_t m_iWaveIndex; // 0x11d8
float m_fYawOffset; // 0x11dc
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_AghsFort2_DrowRanger_Multishot_Buff_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort2_DrowRanger_Multishot_Refire : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura : public CDOTA_Buff
{
public:
int32_t aura_disable_range; // 0x11d8
int32_t aura_range; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t m_nBonusFactor; // 0x11e4
GameTime_t m_fLastEnableTime; // 0x11e8
ParticleIndex_t m_nFxIndex; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort2_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff
{
public:
int32_t aura_agility_multiplier; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_Active : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_range; // 0x11dc
int32_t attack_speed_reduction; // 0x11e0
float duration; // 0x11e4
int32_t charges; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_AoE : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort2_DrowRanger_Marksmanship_WaveOfSilence_Primed : public CDOTA_Buff
{
public:
int32_t aura_disable_range; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LucentBeam_Moonglow : public CDOTA_Buff
{
public:
int32_t bonus_aspd; // 0x11d8
int32_t lifesteal; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t night_bonus_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Active : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback : public CDOTA_Buff
{
public:
int32_t attack_speed_slow; // 0x11d8
int32_t move_speed_slow_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_Knockback_Bounce : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
int32_t bounces; // 0x11dc
int32_t damage_reduction_percent; // 0x11e0
int32_t bounce_pct; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_MoonGlaive_FX : public CDOTA_Buff
{
public:
ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonMark : public CDOTA_Buff
{
public:
int32_t spell_resist_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarRemnant : public CDOTA_Buff
{
public:
int32_t m_nBonusDamage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Moonfright : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_LunarPower : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_MoonShield_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield_Trigger : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessingAura_MoonShield : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Active_Buff : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_Lunar_Grace : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
float night_multiplier; // 0x11dc
};
// Alignment: 15
// Size: 0x1240
class CDOTA_Modifier_AghsFort_Luna_Eclipse : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t radius; // 0x11dc
int32_t beams; // 0x11e0
int32_t hit_count; // 0x11e4
int32_t m_iBeamDamage; // 0x11e8
float m_flBeamStun; // 0x11ec
Vector vPosition; // 0x11f0
bool m_bAreaTarget; // 0x11fc
bool m_bMoonWell; // 0x11fd
private:
[[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe
public:
int32_t m_iTickCount; // 0x1200
ParticleIndex_t m_nMoonlightFXIndex; // 0x1204
CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1208
CUtlVector< CHandle< C_BaseEntity > > m_HitAllies; // 0x1220
float beam_interval; // 0x1238
float m_flInterval; // 0x123c
};
// Alignment: 9
// Size: 0x1210
class CDOTA_Modifier_AghsFort_Luna_LunarBlessing_Leap : public CDOTA_Buff
{
public:
int32_t leap_distance; // 0x11d8
float leap_speed; // 0x11dc
float leap_acceleration; // 0x11e0
int32_t leap_radius; // 0x11e4
int32_t search_range; // 0x11e8
float damage_multiplier; // 0x11ec
float m_flPowerLevelPct; // 0x11f0
bool m_bLaunched; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x11f8
};
// Alignment: 9
// Size: 0x13e0
class CDOTA_Modifier_AghsFort_Luna_GlaiveShield : public CDOTA_Buff
{
public:
bool m_bSpiritsExplode; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t hit_radius; // 0x11dc
int32_t rotate_range; // 0x11e0
int32_t glaive_movement_rate; // 0x11e4
float replenish_time; // 0x11e8
float m_flRotation; // 0x11ec
float m_flGlaiveRadius; // 0x11f0
GameTime_t m_flNextSpawn; // 0x11f4
bool m_bPaused; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Luna_Eclipse_IntoTheNight_Aura : public CDOTA_Buff
{
public:
int32_t m_nMoveSpeed; // 0x11d8
int32_t m_nEvasion; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Lich_FrostNova_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t slow_attack_speed; // 0x11dc
bool is_primary_target; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Self : public CDOTA_Buff
{
public:
int32_t mana_drain; // 0x11d8
float m_flIntervalRate; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t mana_drain; // 0x11dc
float m_flIntervalRate; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lich_Sinister_Gaze_Summon : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t base_damage_outgoing_percentage; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Lich_Ice_Spire : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
CountdownTimer m_Timer; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lich_Ice_Spire_Debuff : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lich_ChainFrost_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t slow_attack_speed; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Lich_FrostShield : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float interval; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t bonus_health_regen; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lich_FrostShield_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Lich_FrostShield_Magic_Resistance_Debuff : public CDOTA_Buff
{
public:
int32_t magic_resist_reduction; // 0x11d8
int32_t max_stacks; // 0x11dc
ParticleIndex_t m_nFXStackIndex; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_AghsFort_Modifier_Lich_Frost_Giant : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t model_scale; // 0x11dc
int32_t damage_radius; // 0x11e0
int32_t pct_int_damage_per_second; // 0x11e4
float tick_rate; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_AghsFort_Modifier_Lich_Frost_Shield_Magic_Immune : public CDOTA_Modifier_MagicImmune
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Lich_Chain_Frost_Thinker : public CDOTA_Buff
{
public:
int32_t m_nDamageToHeroes; // 0x11d8
int32_t m_nHeroesKilled; // 0x11dc
int32_t m_nJumps; // 0x11e0
CHandle< C_BaseEntity > m_hTarget; // 0x11e4
CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Rumboldened_Immunity : public CDOTA_Modifier_MagicImmune
{
public:
int32_t model_scale; // 0x11d8
};
// Alignment: 12
// Size: 0x1210
class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Thinker : public CDOTA_Buff
{
public:
bool m_bIsSquall; // 0x11d8
bool m_bIsSeaLegs; // 0x11d9
private:
[[maybe_unused]] uint8_t __pad11da[0x2]; // 0x11da
public:
float m_flRadius; // 0x11dc
bool m_bShowEnemies; // 0x11e0
bool m_bTorrentStorm; // 0x11e1
private:
[[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2
public:
float m_flDelay; // 0x11e4
float m_flFireTime; // 0x11e8
bool m_bForcePosition; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
Vector m_vStartPosition; // 0x11f0
Vector m_vEndPosition; // 0x11fc
int32_t m_nPercentChanceOfGhostShip; // 0x1208
CHandle< C_BaseEntity > m_hTarget; // 0x120c
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Kunkka_Torrent : public CDOTA_Buff
{
public:
float flIntervalThinkTime; // 0x11d8
int32_t torrent_damage; // 0x11dc
float m_flDamageScale; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Kunkka_Fire_Cannons_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_bonus; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Kunkka_Torrent_Storm : public CDOTA_Buff
{
public:
int32_t torrent_min_distance; // 0x11d8
int32_t torrent_max_distance; // 0x11dc
int32_t m_iExplosionQuadrant; // 0x11e0
Vector m_vPosition; // 0x11e4
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_AghsFort_Kunkka_Tidebringer : public CDOTA_Buff
{
public:
bool m_bTidebringerAttack; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t cleave_starting_width; // 0x11dc
int32_t cleave_ending_width; // 0x11e0
int32_t cleave_distance; // 0x11e4
int32_t damage_bonus; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
int32_t cleave_damage; // 0x11f0
bool m_bIgnoreCooldown; // 0x11f4
bool m_bDreadPirate; // 0x11f5
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Kunkka_NoQuarter : public CDOTA_Buff
{
public:
int32_t m_nSpeedBonusPercentage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot : public CDOTA_Buff
{
public:
float armour_increase; // 0x11d8
float speed_increase_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_SeaLegs_Thinker : public CDOTA_Buff
{
public:
Vector m_vLastPosition; // 0x11d8
CHandle< C_BaseEntity > m_hEntity; // 0x11e4
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff
{
public:
Vector m_vStartLoc; // 0x11d8
bool m_bIsReflection; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CHandle< C_BaseEntity > m_hEntity; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Fear : public CDOTA_Buff
{
public:
CHandle< C_DOTA_BaseNPC > m_pEntityToBeAfraidOf; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fire_Cannons : public CDOTA_Buff
{
public:
float m_flDistance; // 0x11d8
float m_flSpeed; // 0x11dc
int32_t m_nNumCannons; // 0x11e0
float m_flProjectileRadius; // 0x11e4
bool m_bGhostShipIsEntity; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
int32_t m_hGhostShipProjectile; // 0x11ec
CHandle< C_BaseEntity > m_hGhostShip; // 0x11f0
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff
{
public:
Vector vCasterOrigin; // 0x11d8
Vector vEnd; // 0x11e4
int32_t m_nHitCount; // 0x11f0
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_Loaded : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff
{
public:
int32_t m_iAccumulatedDamage; // 0x11d8
int32_t movespeed_bonus; // 0x11dc
float ghostship_absorb; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff
{
public:
int32_t m_iAccumulatedDamage; // 0x11d8
float m_flDuration; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Kunkka_SeaSickness : public CDOTA_Buff
{
public:
int32_t m_iAccumulatedDamage; // 0x11d8
float m_flDuration; // 0x11dc
float m_flMovespeedBonus; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Davy_Jones_Locker_Aura : public CDOTA_Buff
{
public:
float m_flRadius; // 0x11d8
};
// Alignment: 19
// Size: 0x1280
class CDOTA_Modifier_Kunkka_Man_the_Helm : public CDOTA_Modifier_MagicImmune
{
public:
float tick_interval; // 0x11d8
float forward_move_speed; // 0x11dc
float turn_rate_boosted; // 0x11e0
float turn_rate; // 0x11e4
int32_t hit_radius; // 0x11e8
int32_t knockback_radius; // 0x11ec
bool m_bHitFirstUpdate; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
GameTime_t m_flHitEndTime; // 0x11f4
float hit_recover_time; // 0x11f8
float m_flTurnBoostProgress; // 0x11fc
float m_flFacingTarget; // 0x1200
GameTime_t m_flLastHeroAttackTime; // 0x1204
ParticleIndex_t m_nFXIndex; // 0x1208
float m_flGyroshellDurationRemaining; // 0x120c
CUtlVector< float32 > m_flTurnHistory; // 0x1210
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1228
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1240
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1258
Vector m_vDirection; // 0x1270
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Kunkka_No_Quarter_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_No_Quarter_Counter : public CDOTA_Buff
{
public:
int32_t m_nStackCount; // 0x11d8
};
// Alignment: 12
// Size: 0x1240
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff
{
public:
bool m_bActivated; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
Vector m_vFacingDir; // 0x11dc
CUtlVector< Vector > m_vecWatchPositions; // 0x11e8
ParticleIndex_t m_nBeamFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< int32 > m_nViewerIDs; // 0x1208
int32_t remnant_watch_distance; // 0x1220
int32_t remnant_watch_radius; // 0x1224
float duration; // 0x1228
int32_t watch_path_vision_radius; // 0x122c
int32_t impact_damage; // 0x1230
float pull_duration; // 0x1234
float activation_delay; // 0x1238
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
PlayerID_t m_nPlayerID; // 0x11dc
float think_interval; // 0x11e0
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
Vector m_vFacingDir; // 0x11dc
CHandle< C_BaseEntity > m_hRemnant; // 0x11e8
bool m_bTriggered; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_flCurThink; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff
{
public:
int32_t m_nRadius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXStackIndex; // 0x11d8
float m_fVoidMarkPct; // 0x11dc
int32_t movement_slow_pct; // 0x11e0
int32_t pop_damage; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Caster : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase_Ally : public CDOTA_Buff
{
public:
int32_t damage_radius; // 0x11d8
float debuff_duration; // 0x11dc
int32_t destination_fx_radius; // 0x11e0
int32_t damage; // 0x11e4
Vector m_vExitPos; // 0x11e8
};
// Alignment: 20
// Size: 0x1280
class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff
{
public:
Vector m_vFirstPortalPos; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< Vector > m_vecDestinations; // 0x11e8
CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1200
CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1218
int32_t m_nCurrentDestinationIndex; // 0x1230
int32_t m_nClosestIndexPosToClick; // 0x1234
int32_t m_nPortalHeightOffset; // 0x1238
private:
[[maybe_unused]] uint8_t __pad123c[0x4]; // 0x123c
public:
char* m_szAlliesPortalFX; // 0x1240
char* m_szEnemiesPortalFX; // 0x1248
int32_t m_nPortalRadius; // 0x1250
int32_t m_nPortalPadding; // 0x1254
int32_t m_nFinalImpactDamageRadius; // 0x1258
int32_t m_nFinalImpactFXRadius; // 0x125c
int32_t destination_fx_radius; // 0x1260
int32_t damage_radius; // 0x1264
int32_t portals_per_ring; // 0x1268
int32_t angle_per_ring_portal; // 0x126c
int32_t first_ring_distance_offset; // 0x1270
float debuff_duration; // 0x1274
int32_t damage; // 0x1278
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff
{
public:
int32_t base_absorb_amount; // 0x11d8
int32_t m_nAbsorbRemaining; // 0x11dc
};
// Alignment: 9
// Size: 0x1228
class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_EnemiesHit; // 0x11e8
CUtlVector< CHandle< C_BaseEntity > > m_AlliesHit; // 0x1200
int32_t speed; // 0x1218
int32_t radius; // 0x121c
int32_t damage; // 0x1220
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_Push : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpirit_AetherRemnant_PhantomAttack_Crit : public CDOTA_Buff
{
public:
int32_t m_nCritPercent; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AetherRemnant_Bowling_ImpactSlow : public CDOTA_Buff
{
public:
int32_t move_slow_pct; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Thinker : public CDOTA_Buff
{
public:
int32_t m_nDamageRadius; // 0x11d8
float m_fDissimilateDamage; // 0x11dc
float m_fThinkInterval; // 0x11e0
float m_fDissimilateDamagePctPerInterval; // 0x11e4
float m_fLingerDuration; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_Dissimilate_Lure_Burn : public CDOTA_Buff
{
public:
float m_fDamagePerInterval; // 0x11d8
int32_t m_nBonusIncomingMagicDamage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_SpellAmped : public CDOTA_Buff
{
public:
int32_t m_nSpellAmp; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_VoidSpirit_ResonantPulse_Cadence : public CDOTA_Buff
{
public:
float m_fSpellAmp; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_VoidSpirit_ResonantPulse_Suppression_MagicImmunity : public CDOTA_Modifier_MagicImmune
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_VoidSpirit_AstralStep_Vacuum_Motion : public CDOTA_Buff
{
public:
float m_fVacuumSpeed; // 0x11d8
float m_fStunDuration; // 0x11dc
Vector m_vPullLoc; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_VoidSpirit_AstralStep_Attacks : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Thinker : public CDOTA_Buff
{
public:
float m_fThinkInterval; // 0x11d8
float m_fPopDamagePctPerInterval; // 0x11dc
float m_fLingerDuration; // 0x11e0
int32_t radius; // 0x11e4
int32_t pop_damage; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Trail_Burn : public CDOTA_Buff
{
public:
float m_fDamagePerInterval; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_VoidSpirit_AstralStep_Breach_Burn : public CDOTA_Buff
{
public:
float m_fDamagePerInterval; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Gyrocopter_Rocket_Barrage : public CDOTA_Buff
{
public:
int32_t rocket_damage; // 0x11d8
int32_t m_nPower; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride : public CDOTA_Buff
{
public:
int32_t grab_radius; // 0x11d8
CHandle< C_BaseEntity > m_hLoadedUnit; // 0x11dc
};
// Alignment: 14
// Size: 0x1230
class CDOTA_Modifier_Aghsfort_Gyrocopter_Homing_Missile : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nFXIndex2; // 0x11dc
int32_t acceleration; // 0x11e0
float pre_flight_time; // 0x11e4
float stun_duration; // 0x11e8
int32_t m_nMissileDamage; // 0x11ec
int32_t damage; // 0x11f0
int32_t m_nTeamNumber; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f8[0x8]; // 0x11f8
public:
float speed; // 0x1200
float m_flFacingTarget; // 0x1204
int32_t movement_turn_rate; // 0x1208
int32_t m_nPower; // 0x120c
CHandle< C_BaseEntity > m_hAttachTarget; // 0x1210
private:
[[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214
public:
CountdownTimer m_MoveTime; // 0x1218
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon : public CDOTA_Buff
{
public:
int32_t max_attacks; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t m_iNumAttacks; // 0x11e0
int32_t projectile_speed; // 0x11e4
int32_t radius; // 0x11e8
int32_t max_targets; // 0x11ec
bool m_bFirstStrike; // 0x11f0
bool m_bShouldFireMissiles; // 0x11f1
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t scepter_radius; // 0x11dc
};
// Alignment: 12
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down : public CDOTA_Buff
{
public:
int32_t slow_duration_first; // 0x11d8
int32_t slow_duration_second; // 0x11dc
int32_t damage_first; // 0x11e0
int32_t damage_second; // 0x11e4
float power; // 0x11e8
int32_t radius; // 0x11ec
float slow_first; // 0x11f0
float slow_second; // 0x11f4
bool m_bDelayed; // 0x11f8
bool m_bHalfDamage; // 0x11f9
bool m_bFirstStrike; // 0x11fa
private:
[[maybe_unused]] uint8_t __pad11fb[0x1]; // 0x11fb
public:
CHandle< C_BaseEntity > m_hInflictorAbility; // 0x11fc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Gyrocopter_Call_Down_Slow : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_RocketBarrage_On_Attack : public CDOTA_Buff
{
public:
int32_t strike_chance; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Gyrocopter_Rocket_Barrage_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit : public CDOTA_Buff
{
public:
int32_t hit_radius; // 0x11d8
float timeout_duration; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Gyrocopter_Homing_Missile_Ride_LoadedUnit_Timeout : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
int32_t path_radius; // 0x11e4
float linger_duration; // 0x11e8
float flDamage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Flak_Cannon_Fire_Trail_Burn : public CDOTA_Buff
{
public:
float flDamage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Attack_Buff : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
int32_t attackspeed; // 0x11dc
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Special_Gyrocopter_Call_Down_Land_Mines : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float proximity_threshold; // 0x11dc
float damage; // 0x11e0
float activation_delay; // 0x11e4
bool bActivated; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x7]; // 0x11e9
public:
CountdownTimer m_Timer; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Special_Gyrocopter_Call_Down_Wingman : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff
{
public:
float pulse_interval; // 0x11d8
int32_t iEffectRadius; // 0x11dc
int32_t base_damage; // 0x11e0
int32_t base_heal; // 0x11e4
int32_t scepter_heal; // 0x11e8
CHandle< C_BaseEntity > m_hFollowTarget; // 0x11ec
CHandle< C_BaseEntity > m_hInflictor; // 0x11f0
GameTime_t m_flNextPulseTime; // 0x11f4
ParticleIndex_t m_nThinkerFXIndex; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff
{
public:
ParticleIndex_t m_nCasterFXIndex; // 0x11d8
ParticleIndex_t m_nStatusFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity : public CDOTA_Buff
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t attack_count; // 0x11dc
bool m_bShouldIncrement; // 0x11e0
};
// Alignment: 14
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff
{
public:
bool m_bIsBuffedAttack; // 0x11d8
bool m_bSunSentinel; // 0x11d9
private:
[[maybe_unused]] uint8_t __pad11da[0x2]; // 0x11da
public:
int32_t heal_pct; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t heal_radius; // 0x11e4
int32_t heal_from_creeps; // 0x11e8
int32_t allied_healing_pct; // 0x11ec
int32_t m_nSmashDamage; // 0x11f0
int32_t m_nCounterOrbitalChance; // 0x11f4
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesToHeal; // 0x11f8
float m_flTotalToHeal; // 0x1210
bool m_bCounterOrbitalProcessed; // 0x1214
bool m_bIsCounterOrbitalSmash; // 0x1215
bool m_bBrightFoundryProcessed; // 0x1216
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker : public CDOTA_Buff
{
public:
int32_t flare_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
CHandle< C_BaseEntity > m_hInflictor; // 0x11e0
};
// Alignment: 11
// Size: 0x1220
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
int32_t projectile_speed; // 0x11dc
int32_t travel_speed_pct; // 0x11e0
int32_t m_nMaxRange; // 0x11e4
Vector m_vStartPoint; // 0x11e8
Vector m_vLastTrailThinkerLocation; // 0x11f4
Vector m_vEndPointShard; // 0x1200
ParticleIndex_t m_nStatusFXIndex; // 0x120c
int32_t flare_radius; // 0x1210
bool bHasStartedBurning; // 0x1214
private:
[[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215
public:
float flare_debuff_duration; // 0x1218
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float trail_duration; // 0x11dc
int32_t flare_radius; // 0x11e0
int32_t m_nProjectileHandle; // 0x11e4
CHandle< C_BaseEntity > m_hHavenThinker; // 0x11e8
};
// Alignment: 22
// Size: 0x1238
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff
{
public:
int32_t swipe_radius; // 0x11d8
int32_t swipe_damage; // 0x11dc
int32_t smash_radius; // 0x11e0
int32_t smash_damage; // 0x11e4
int32_t m_nCurrentSpeed; // 0x11e8
float flSwipeInterval; // 0x11ec
GameTime_t m_flNextHit; // 0x11f0
int32_t iCurrentAttack; // 0x11f4
int32_t total_attacks; // 0x11f8
float smash_stun_duration; // 0x11fc
float sweep_stun_duration; // 0x1200
bool m_bHasCompletedMove; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205
public:
float duration; // 0x1208
Vector m_vTargetHorizontalDirection; // 0x120c
int32_t smash_distance_from_hero; // 0x1218
float animation_rate; // 0x121c
float turn_rate; // 0x1220
float m_flFacingTarget; // 0x1224
bool m_bSuncrusher; // 0x1228
private:
[[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229
public:
float m_flDistanceSinceStandAblazeThinker; // 0x122c
float m_flDistancePerStandAblazeThinker; // 0x1230
CHandle< C_DOTABaseAbility > m_hCelestialHammerForFire; // 0x1234
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff
{
public:
int32_t attack_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff
{
public:
int32_t swipe_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
int32_t burn_damage; // 0x11dc
float burn_interval; // 0x11e0
CHandle< C_BaseEntity > m_hInflictor; // 0x11e4
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Thinker : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge_Thinker
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_CelestialFire_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_BrightFoundry_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_SolarBattery : public CDOTA_Buff
{
public:
int32_t move_speed_pct; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t m_nBonusMovementSpeedPct; // 0x11e0
int32_t m_nBonusAttackSpeed; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Lightbringer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_Dawnbreaker_SunSentinelLuminosity_Attack_Buff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Luminosity_Attack_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Special_Dawnbreaker_Solar_Guardian_DeathOfAStar_Active : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
bool m_bPassive; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
float m_flCooldown; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Dawnbreaker_SolarFlare_Debuff : public CDOTA_Modifier_Aghsfort_Dawnbreaker_Converge
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital : public CDOTA_Buff
{
public:
int32_t trigger_chance; // 0x11d8
float cooldown; // 0x11dc
GameTime_t m_fLastProc; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Dawnbreaker_Starbreaker_CounterOrbital_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Bane_Enfeeble : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_Effect : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t heal_reduction; // 0x11dc
int32_t cast_reduction; // 0x11e0
};
// Alignment: 12
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_Bane_Nightmare : public CDOTA_Buff
{
public:
bool m_bSweetDreams; // 0x11d8
bool m_bConfusion; // 0x11d9
bool m_bSelfBreakAvailable; // 0x11da
bool m_bNoStatusEffect; // 0x11db
int32_t m_nSource; // 0x11dc
float animation_rate; // 0x11e0
GameTime_t m_flNextNightmareDamageTime; // 0x11e4
float m_flAccumNightmareDamage; // 0x11e8
int32_t movespeed_pct; // 0x11ec
int32_t attack_speed; // 0x11f0
int32_t model_scale; // 0x11f4
CHandle< C_BaseEntity > m_hConfusionAttackTarget; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable
{
public:
int32_t m_nMoveSpeed; // 0x11d8
};
// Alignment: 9
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip : public CDOTA_Buff
{
public:
int32_t fiend_grip_mana_drain; // 0x11d8
int32_t fiend_grip_boost_lifesteal_multiplier; // 0x11dc
int32_t fiend_grip_damage; // 0x11e0
int32_t fiend_grip_spread_radius; // 0x11e4
float fiend_grip_tick_interval; // 0x11e8
GameTime_t m_flLastSpreadTime; // 0x11ec
bool m_bThinkerSource; // 0x11f0
bool m_bRequiresChanneling; // 0x11f1
bool m_bPrimaryGrip; // 0x11f2
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff
{
public:
int32_t fiend_grip_mana_drain; // 0x11d8
float fiend_grip_tick_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Self : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Bane_FiendsGrip_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Bane_Enfeeble_DamageStealBuff : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Bane_FiendsGripThinker : public CDOTA_Buff
{
public:
int32_t latch_range; // 0x11d8
};
// Alignment: 5
// Size: 0x1230
class CDOTA_Modifier_AghsFort_Bane_BrainSap_Knockback : public CDOTA_Modifier_Knockback
{
public:
int32_t radius; // 0x1208
int32_t heal_pct; // 0x120c
float slow_duration; // 0x1210
int32_t m_nBrainSapDamage; // 0x1214
CUtlVector< CHandle< C_BaseEntity > > m_vecHitTargets; // 0x1218
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Bane_BrainSap_KnockbackSlow : public CDOTA_Buff
{
public:
int32_t movement_slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Bane_BrainSap_NightmareMirror : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Bane_BrainSap_Invis : public CDOTA_Modifier_Invisible
{
public:
int32_t invis_movement_speed; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Bane_Invis_Crit : public CDOTA_Buff
{
public:
int32_t invis_brain_sap_crit_pct; // 0x11d8
int32_t m_nCritPct; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Phoenix_SunRayVision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 21
// Size: 0x1258
class CDOTA_Modifier_AghsFort_Phoenix_SunRay : public CDOTA_Buff
{
public:
float hp_cost_pct; // 0x11d8
int32_t beam_range; // 0x11dc
int32_t base_damage; // 0x11e0
int32_t base_heal; // 0x11e4
float tick_interval; // 0x11e8
float forward_move_speed; // 0x11ec
float turn_rate_initial; // 0x11f0
float turn_rate; // 0x11f4
int32_t radius; // 0x11f8
float m_flCurrentTime; // 0x11fc
float m_flAccumulatedSelfDamage; // 0x1200
bool m_bMovingForward; // 0x1204
bool m_bTurningFast; // 0x1205
private:
[[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206
public:
float m_flFacingTarget; // 0x1208
float hp_perc_heal; // 0x120c
ParticleIndex_t m_nBeamFXIndex; // 0x1210
CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1214
CHandle< C_BaseEntity > m_hBeamEnd; // 0x1234
bool m_bCreatedVisionThinkers; // 0x1238
private:
[[maybe_unused]] uint8_t __pad1239[0x3]; // 0x1239
public:
CHandle< C_BaseEntity > m_hBeamEndSound; // 0x123c
CUtlVector< CHandle< C_BaseEntity > > m_vecDispelledAllies; // 0x1240
};
// Alignment: 13
// Size: 0x1248
class CDOTA_Modifier_AghsFort_Phoenix_IcarusDive : public CDOTA_Buff
{
public:
Vector m_vSource; // 0x11d8
Vector m_vTarget; // 0x11e4
Vector m_vDirection; // 0x11f0
QAngle m_angDirection; // 0x11fc
float m_flCurrentTime; // 0x1208
int32_t dash_length; // 0x120c
int32_t dash_width; // 0x1210
int32_t hit_radius; // 0x1214
float burn_duration; // 0x1218
float dive_duration; // 0x121c
int32_t damage_per_second; // 0x1220
private:
[[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1228
bool m_bSavedAlly; // 0x1240
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Phoenix_IcarusDiveBurn : public CDOTA_Buff
{
public:
float burn_tick_interval; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t slow_movement_speed_pct; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritCount : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t spirit_count; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Phoenix_FireSpiritBurn : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
int32_t damage_per_second; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Phoenix_SupernovaHiding : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Phoenix_Sun : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float stun_duration; // 0x11dc
int32_t attacks_to_kill; // 0x11e0
int32_t captain_attack_value; // 0x11e4
int32_t boss_attack_value; // 0x11e8
CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11ec
bool m_bHasExpelCoreShard; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
int32_t m_nAttackCount; // 0x11f4
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Phoenix_SecondSun : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float stun_duration; // 0x11dc
int32_t attacks_to_kill; // 0x11e0
int32_t captain_attack_value; // 0x11e4
int32_t boss_attack_value; // 0x11e8
int32_t m_nAttackCount; // 0x11ec
int32_t m_nRadius; // 0x11f0
float m_fSecondSunRadiusPct; // 0x11f4
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_AghsFort_Phoenix_Sun_Debuff : public CDOTA_Buff
{
public:
int32_t damage_per_sec; // 0x11d8
float damage_interval; // 0x11dc
int32_t aura_radius; // 0x11e0
float m_fRadius; // 0x11e4
float m_fSecondSunRadiusPct; // 0x11e8
GameTime_t m_fNextDamageTime; // 0x11ec
GameTime_t m_fLastThinkTime; // 0x11f0
bool m_bHasHorizonAbility; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
int32_t m_nHorizonPushDistance; // 0x11f8
float m_fHorizonPushInterval; // 0x11fc
GameTime_t m_fNextHorizonPushTime; // 0x1200
ParticleIndex_t m_nHorizonFX; // 0x1204
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Caster : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Ally : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hSaviorEnt; // 0x11d8
float ally_position_offset; // 0x11dc
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_Special_Phoenix_IcarusDive_Savior_Invis : public CDOTA_Modifier_PersistentInvisibility
{
public:
float duration; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Phoenix_FireSpirits_Artillery_Carry : public CDOTA_Buff
{
public:
float unit_position_offset; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack_TreeFire_Thinker : public CDOTA_Buff
{
public:
CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11d8
bool m_bCleanupWhenEmpty; // 0x11f0
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_AghsFort_Phoenix_FlameRevenant_Attack : public CDOTA_Buff
{
public:
float radius_pct_as_length; // 0x11d8
int32_t width; // 0x11dc
float linger_duration; // 0x11e0
float m_fLength; // 0x11e4
ParticleIndex_t m_nBeamFXIndex; // 0x11e8
CHandle< C_BaseEntity > m_hBeamEnd; // 0x11ec
GameTime_t m_flLastHit; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x11f8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Phoenix_FlameRevenant_Attack_Damage : public CDOTA_Buff
{
public:
float m_fDamagePerSecond; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
ParticleIndex_t m_nActiveFXIndex; // 0x11e0
ParticleIndex_t m_nActiveStatusFXIndex; // 0x11e4
float flame_revenant_damage_pct; // 0x11e8
float think_interval; // 0x11ec
int32_t move_slow_pct; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Special_Phoenix_SunRay_GammaRay_Slow : public CDOTA_Buff
{
public:
int32_t move_slow_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Phoenix_SunRay_Luminance : public CDOTA_Buff
{
public:
float pct_of_heal_as_attack_speed; // 0x11d8
float m_fAttackSpeedBonus; // 0x11dc
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_AghsFort_ArcWardenBoss_Flux : public CDOTA_Buff
{
public:
int32_t m_nCasterTeam; // 0x11d8
int32_t damage_per_tick_min; // 0x11dc
int32_t damage_per_tick_max; // 0x11e0
int32_t search_radius; // 0x11e4
int32_t move_speed_slow_pct; // 0x11e8
float think_interval; // 0x11ec
float m_fCurrentDamage; // 0x11f0
float m_fDamageIncreasePerTick; // 0x11f4
int32_t m_nCurrentSlow; // 0x11f8
bool m_bAlone; // 0x11fc
private:
[[maybe_unused]] uint8_t __pad11fd[0x3]; // 0x11fd
public:
ParticleIndex_t m_nFXIndex; // 0x1200
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Evasion : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t radius; // 0x11e0
float explosion_delay_time; // 0x11e4
float explosion_stun_duration; // 0x11e8
int32_t explosion_damage; // 0x11ec
int32_t caster_team; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Explosion : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t explosion_damage; // 0x11dc
float explosion_stun_duration; // 0x11e0
float explosion_delay_time; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Evasion : public CDOTA_Buff
{
public:
int32_t evasion_chance; // 0x11d8
int32_t radius; // 0x11dc
float aura_origin_x; // 0x11e0
float aura_origin_y; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MagneticField_Attack_Speed : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Purge : public CDOTA_Buff
{
public:
int32_t move_speed_slow_pct; // 0x11d8
};
// Alignment: 18
// Size: 0x1230
class CDOTA_Modifier_AghsFort_ArcWardenBoss_SparkWraith_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t wraith_vision_radius; // 0x11dc
int32_t wraith_speed; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x8]; // 0x11e4
public:
float activation_delay; // 0x11ec
float scepter_activation_delay; // 0x11f0
float think_interval; // 0x11f4
float search_timer_min; // 0x11f8
float search_timer_max; // 0x11fc
float mini_stun_duration; // 0x1200
int32_t move_speed_slow_pct; // 0x1204
int32_t m_nSparkDamage; // 0x1208
bool m_bActive; // 0x120c
bool m_bOriginal; // 0x120d
private:
[[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e
public:
float m_fSearchTimer; // 0x1210
float m_fRotationSpeed; // 0x1214
int32_t m_nRotationDirection; // 0x1218
Vector m_vRotationCenter; // 0x121c
ParticleIndex_t m_nFXIndex; // 0x1228
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble : public CDOTA_Buff
{
public:
int32_t damage_increase; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_ArcWardenBoss_TempestDouble_Phase : public CDOTA_Buff
{
public:
int32_t num_doubles; // 0x11d8
};
// Alignment: 12
// Size: 0x1238
class CDOTA_Modifier_AghsFort_ArcWardenBoss_MeteorShockwave_Thinker : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
bool m_bWindingUp; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CountdownTimer m_ViewerTimer; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1208
int32_t speed; // 0x1220
int32_t radius; // 0x1224
float knockback_distance; // 0x1228
float knockback_duration; // 0x122c
float windup_time; // 0x1230
};
// Alignment: 15
// Size: 0x1258
class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nFXIndex2; // 0x11dc
int32_t hero_damage; // 0x11e0
int32_t acceleration; // 0x11e4
int32_t min_damage; // 0x11e8
int32_t max_distance; // 0x11ec
float pre_flight_time; // 0x11f0
float stun_duration; // 0x11f4
int32_t m_nMissileDamage; // 0x11f8
int32_t m_nTeamNumber; // 0x11fc
private:
[[maybe_unused]] uint8_t __pad1200[0x8]; // 0x1200
public:
float speed; // 0x1208
CHandle< C_BaseEntity > m_hAttachTarget; // 0x120c
Vector m_vStartPosition; // 0x1210
private:
[[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c
public:
CountdownTimer m_EnemyVision; // 0x1220
CountdownTimer m_MoveTime; // 0x1238
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_ArcWardenBoss_SparkWraith_Missile_Target : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard : public CDOTA_Buff
{
public:
Vector m_vStartPos; // 0x11d8
Vector m_vEndPos; // 0x11e4
GameTime_t m_flEndTime; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Shard_Pathing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_BossEarthshaker_Fissure_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Leap : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_Animation : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem_LandDebuff : public CDOTA_Buff
{
public:
int32_t landing_move_slow_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_BossEarthshaker_EnchantTotem : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t totem_damage_percentage; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Thinker : public CDOTA_Buff
{
public:
int32_t effect_radius; // 0x11d8
float rock_duration; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_HP : public CDOTA_Buff
{
public:
int32_t rock_health; // 0x11d8
int32_t rock_visualzdelta; // 0x11dc
bool m_bIsCrushing; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t summon_count; // 0x11e4
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Rock_Crush : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hRock; // 0x11d8
QAngle m_qRotation; // 0x11dc
float m_flOldPitch; // 0x11e8
};
// Alignment: 8
// Size: 0x1218
class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_HeavySteps : public CDOTA_Buff
{
public:
Vector vLastPos; // 0x11d8
float flCurrentDistance; // 0x11e4
int32_t step_distance; // 0x11e8
int32_t effect_radius; // 0x11ec
int32_t base_damage; // 0x11f0
CHandle< C_BaseEntity > m_hTarget; // 0x11f4
CountdownTimer ctLastCommandTimer; // 0x11f8
bool m_bMoveCommandIssued; // 0x1210
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float m_flOffset; // 0x11dc
QAngle m_vStartAngles; // 0x11e0
float animation_rate; // 0x11ec
};
// Alignment: 14
// Size: 0x1230
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Self : public CDOTA_Buff
{
public:
CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11d8
Vector m_vPos; // 0x11dc
int32_t splash_radius; // 0x11e8
float interval; // 0x11ec
float ministun; // 0x11f0
int32_t m_nCurrentHitCount; // 0x11f4
int32_t total_ripple_circles; // 0x11f8
int32_t ripple_step_distance; // 0x11fc
int32_t ripple_step_distance_offset; // 0x1200
float health_damage; // 0x1204
float ripple_duration; // 0x1208
int32_t ripple_damage; // 0x120c
CUtlVector< int32 > m_vLastRippleOffsets; // 0x1210
float self_animation_rate; // 0x1228
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Ripple_Thinker : public CDOTA_Buff
{
public:
int32_t ripple_effect_width; // 0x11d8
int32_t ripple_damage; // 0x11dc
int32_t health_damage; // 0x11e0
int32_t ripple_count; // 0x11e4
int32_t total_ripple_circles; // 0x11e8
float radius; // 0x11ec
float ripple_slow_duration; // 0x11f0
float ripple_knockback_duration; // 0x11f4
CHandle< C_BaseEntity > m_hGrabbedEnemy; // 0x11f8
ParticleIndex_t m_nPreviewFXIndex; // 0x11fc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_Damage_Tracking : public CDOTA_Buff
{
public:
int32_t damage_limit; // 0x11d8
ParticleIndex_t m_nFxIndex; // 0x11dc
float m_fTotalDamage; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Pummel_End_Knockback : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Pummel_LootDrop_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Pummel_DroppedItem : public CDOTA_Buff
{
public:
ParticleIndex_t m_nPreviewFXIndex; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Windup : public CDOTA_Buff
{
public:
float charge_duration; // 0x11d8
float max_charge_time; // 0x11dc
float turn_rate; // 0x11e0
float base_power; // 0x11e4
int32_t charge_speed; // 0x11e8
float animation_rate; // 0x11ec
};
// Alignment: 9
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Movement : public CDOTA_Buff
{
public:
float charge_speed; // 0x11d8
int32_t knockback_radius; // 0x11dc
int32_t knockback_distance; // 0x11e0
int32_t knockback_damage; // 0x11e4
int32_t forward_offset; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11ec
float m_flFacingTarget; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x11f4
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Onslaught_Knockback : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition : public CDOTA_Buff
{
public:
float debuff_duration; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Inhibition_Debuff : public CDOTA_Buff
{
public:
int32_t heal_suppression_pct; // 0x11d8
int32_t armor_reduction_pct; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_Vault : public CDOTA_Buff
{
public:
float vault_speed; // 0x11d8
float vault_acceleration; // 0x11dc
int32_t vault_radius; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Primalbeast_Boss_RoarAttack_Start : public CDOTA_Buff
{
public:
int32_t rock_drop_intervals; // 0x11d8
int32_t rock_drop_per_interval; // 0x11dc
int32_t rock_drop_distance; // 0x11e0
int32_t m_nCurrentInterval; // 0x11e4
int32_t rock_drop_rotation_angle; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_NoCC : public CDOTA_Buff
{
public:
bool bCanbeMotionControlled; // 0x11d8
};
// Alignment: 22
// Size: 0x1270
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift : public CDOTA_Buff
{
public:
int32_t projectile_speed; // 0x11d8
int32_t projectile_speed_increment; // 0x11dc
int32_t projectile_distance; // 0x11e0
int32_t projectile_width; // 0x11e4
int32_t projectiles_per_interval; // 0x11e8
int32_t projectiles_per_interval_increment; // 0x11ec
int32_t initial_spread_angle; // 0x11f0
int32_t angle_offset; // 0x11f4
int32_t iCurrentInterval; // 0x11f8
int32_t splinter_angle; // 0x11fc
CountdownTimer m_LeftHandSmashTimer; // 0x1200
CountdownTimer m_RightHandSmashTimer; // 0x1218
CountdownTimer m_AttackIntervalTimer; // 0x1230
float initial_interval; // 0x1248
float interval_reduction; // 0x124c
float min_interval; // 0x1250
int32_t arm_distance_forward; // 0x1254
int32_t arm_distance_side; // 0x1258
int32_t splash_radius; // 0x125c
int32_t max_split_amount; // 0x1260
int32_t m_nCurrentCastCount; // 0x1264
int32_t max_projectiles; // 0x1268
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed_pct; // 0x11d8
int32_t slow_attack_speed_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_PrimalRoar_Push : public CDOTA_Buff
{
public:
Vector m_vVelocity; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_InAbilityPhaseStart : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_CastTracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_TimeOut : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_PrimalBeast_Boss_TectonicShift_Damage : public CDOTA_Buff
{
public:
float tick_damage; // 0x11d8
int32_t damage_ticks; // 0x11dc
int32_t m_nTickAmount; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinaleOrb : public CDOTA_Buff
{
public:
int32_t caustic_finale_radius; // 0x11d8
int32_t caustic_finale_damage_death; // 0x11dc
int32_t caustic_finale_damage_dot; // 0x11e0
int32_t caustic_finale_slow; // 0x11e4
float caustic_finale_dot_tick; // 0x11e8
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale : public CDOTA_Buff
{
public:
float caustic_finale_duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Reverse_Tracking : public CDOTA_Buff
{
public:
Vector m_vStartLocation; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Sand_King_Impale : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike : public CDOTA_Buff
{
public:
Vector m_vPopupLocation; // 0x11d8
bool m_bTeleported; // 0x11e4
};
// Alignment: 10
// Size: 0x1210
class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm : public CDOTA_Buff
{
public:
float sand_storm_radius; // 0x11d8
int32_t sand_storm_damage; // 0x11dc
float damage_tick_rate; // 0x11e0
GameTime_t m_flLastDamageTime; // 0x11e4
ParticleIndex_t m_nSandStormParticleIndex1; // 0x11e8
ParticleIndex_t m_nSandStormParticleIndex2; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11f0[0x8]; // 0x11f0
public:
CHandle< C_BaseEntity > m_hThinker; // 0x11f8
CHandle< C_BaseEntity > m_hBurrowstrikeFieldThinker; // 0x11fc
bool m_bIsPrimarySandstorm; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
Vector vecSpawnPos; // 0x1204
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff
{
public:
float sand_storm_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Sand_King_SandStorm_Slow : public CDOTA_Buff
{
public:
int32_t blind_slow_pct; // 0x11d8
};
// Alignment: 5
// Size: 0x1230
class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter : public CDOTA_Buff
{
public:
int32_t epicenter_pulses; // 0x11d8
int32_t epicenter_radius[16]; // 0x11dc
int32_t epicenter_damage; // 0x121c
int32_t m_iMaxPulses; // 0x1220
int32_t m_iPulseCount; // 0x1224
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Sand_King_Epicenter_Slow : public CDOTA_Buff
{
public:
int32_t epicenter_slow; // 0x11d8
int32_t epicenter_slow_as; // 0x11dc
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Sand_King_BurrowStrike_Channel : public CDOTA_Buff
{
public:
Vector m_vTargetPos; // 0x11d8
ParticleIndex_t m_nCrosshairFX; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Sand_King_Burrowstrike_Transport : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_Aghsfort_Sand_King_Sandstorm_Burrowstrike_Field_Thinker : public CDOTA_Buff
{
public:
float radius; // 0x11d8
float explosion_interval; // 0x11dc
int32_t explosion_radius; // 0x11e0
int32_t explosion_min_dist; // 0x11e4
float m_fLastTick; // 0x11e8
float m_fTimeAccumulator; // 0x11ec
int32_t m_iExplosionCount; // 0x11f0
int32_t m_iExplosionTotalCount; // 0x11f4
int32_t m_iExplosionQuadrant; // 0x11f8
int32_t m_iExplosionDistance; // 0x11fc
ParticleIndex_t m_nFXIndex; // 0x1200
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Special_Sand_King_Sandstorm_Vacuum : public CDOTA_Buff
{
public:
float pull_speed; // 0x11d8
Vector vPullLocation; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Sand_King_CausticFinale_Active : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Sand_King_Caustic_Finale_StrengthBuff : public CDOTA_Buff
{
public:
int32_t str_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_Movement : public CDOTA_Buff
{
public:
Vector vLastPos; // 0x11d8
float m_fAccumulatedDistance; // 0x11e4
int32_t movement_distance; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Special_Sand_King_Epicenter_DamageResist : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t status_resistance; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff
{
public:
int32_t damage_pct; // 0x11d8
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage : public CDOTA_Buff
{
public:
Vector m_vOriginalTarget; // 0x11d8
int32_t wave_count; // 0x11e4
int32_t projectile_speed; // 0x11e8
int32_t projectile_width; // 0x11ec
float m_flInterval; // 0x11f0
int32_t m_nArrowsFired; // 0x11f4
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
bool m_bBonusAttack; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
int32_t damage_bonus; // 0x11f4
float debuff_duration; // 0x11f8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Debuff : public CDOTA_Buff
{
public:
int32_t attack_slow; // 0x11d8
float m_fIgniteThinkInterval; // 0x11dc
float m_fIgniteDmgPerSec; // 0x11e0
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
Vector m_vFacePosition; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy : public CDOTA_Buff
{
public:
float attack_rate; // 0x11d8
int32_t damage_percent; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
bool m_bHasAttacked; // 0x11e4
};
// Alignment: 3
// Size: 0x1208
class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk : public CDOTA_Modifier_Invisible
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecWraithTouchedEntities; // 0x11e8
int32_t move_speed_bonus_pct; // 0x1200
int32_t bonus_magic_resist; // 0x1204
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_BurningBarrage_Singe_Slow : public CDOTA_Buff
{
public:
int32_t move_slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_Thinker : public CDOTA_Buff
{
public:
float lifetime; // 0x11d8
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_AghsFort_Clinkz_SkeletonColossus : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float cleave_damage_pct; // 0x11dc
int32_t cleave_starting_width; // 0x11e0
int32_t cleave_ending_width; // 0x11e4
int32_t cleave_distance; // 0x11e8
int32_t block_damage_ranged_active; // 0x11ec
int32_t block_damage_melee_active; // 0x11f0
int32_t hp_gain_per_caster_level; // 0x11f4
float hp_regen_per_caster_level; // 0x11f8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SearingArrows_Melter : public CDOTA_Buff
{
public:
float armor_reduction_per_arrow; // 0x11d8
int32_t m_nMaxStacks; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Enemy : public CDOTA_Buff
{
public:
float m_fAttackLoss; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_WraithTouch_Caster : public CDOTA_Buff
{
public:
int32_t max_stacks; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SkeletonWalk_Strafe : public CDOTA_Buff
{
public:
float m_fAttackSpeed; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Clinkz_BurningArmy_Entrenchment : public CDOTA_Buff
{
public:
float m_fSlowPct; // 0x11d8
float radius; // 0x11dc
float think_interval; // 0x11e0
float linger_duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Buff : public CDOTA_Buff
{
public:
float m_fLifestealPct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_Entrenchment_Debuff : public CDOTA_Buff
{
public:
float m_fSlowPct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_StunningSkeleton_Debuff : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1228
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x38]; // 0x11d8
public:
int32_t model_scale; // 0x1210
float radius; // 0x1214
int32_t splitshot_count; // 0x1218
float debuff_duration; // 0x121c
float pct_for_moveslow; // 0x1220
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_BurningArmy_BigSkeletons_Debuff : public CDOTA_Buff
{
public:
float m_fMovementSlow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons : public CDOTA_Buff
{
public:
int32_t m_nInitialHealthBarOffset; // 0x11d8
int32_t colossus_model_scale; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Clinkz_SkeletalColossus_BigSkeletons_Ministun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_AghsFort_BossDarkWillow_ShadowRealm_Buff : public CDOTA_Buff
{
public:
float m_fAddInterval; // 0x11d8
GameTime_t m_fNextAddTime; // 0x11dc
GameTime_t m_flStartTime; // 0x11e0
float m_flDamageScale; // 0x11e4
float duration; // 0x11e8
float attack_logic_duration; // 0x11ec
int32_t speed_boost; // 0x11f0
int32_t num_adds; // 0x11f4
int32_t projectile_range; // 0x11f8
int32_t projectile_speed; // 0x11fc
int32_t projectile_width; // 0x1200
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_BossDarkWillow_CursedCrown : public CDOTA_Buff
{
public:
float delay; // 0x11d8
float stun_duration; // 0x11dc
int32_t stun_radius; // 0x11e0
int32_t damage; // 0x11e4
GameTime_t m_fStartTime; // 0x11e8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_AncientApparition_ColdFeet : public CDOTA_Buff
{
public:
Vector m_vecStartPosition; // 0x11d8
int32_t m_nCurrentTick; // 0x11e4
float damage; // 0x11e8
int32_t break_distance; // 0x11ec
float stun_duration; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AncientApparition_ColdFeet_Freeze : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_AncientApparition_IceVortexThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t movement_speed_pct; // 0x11dc
int32_t spell_resist_pct; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11e8
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_AncientApparition_IceVortex : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
int32_t spell_resist_pct; // 0x11dc
int32_t drag_speed; // 0x11e0
float aura_origin_x; // 0x11e4
float aura_origin_y; // 0x11e8
int32_t shard_dps; // 0x11ec
int32_t shard_attack_speed_reduction; // 0x11f0
Vector m_vCenter; // 0x11f4
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_AncientApparition_ChillingTouch : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
float duration; // 0x11dc
int32_t attack_range_bonus; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AncientApparition_ChillingTouch_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AncientApparition_IceBlast : public CDOTA_Buff
{
public:
float dot_damage; // 0x11d8
float kill_pct; // 0x11dc
CHandle< C_BaseEntity > m_hFracturingEntity; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AncientApparition_IceAge : public CDOTA_Buff
{
public:
float damage; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AntiMage_ManaBreak : public CDOTA_Buff
{
public:
int32_t percent_damage_per_burn; // 0x11d8
int32_t mana_per_hit; // 0x11dc
float mana_per_hit_pct; // 0x11e0
float slow_duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AntiMage_ManaBreak_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AntiMage_Blink_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Antimage_DampenMagic_Aura_Strong : public CDOTA_Buff
{
public:
int32_t shard_bonus_aura_range; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Antimage_DampenMagic_Bonus : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Antimage_DampenMagic_Aura : public CDOTA_Buff
{
public:
int32_t shard_radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Antimage_DampenMagic : public CDOTA_Buff
{
public:
int32_t shard_spell_damage_reduction_pct; // 0x11d8
int32_t shard_bonus_spell_damage_reduction_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AntiMage_Counterspell_Passive : public CDOTA_Buff
{
public:
int32_t magic_resistance; // 0x11d8
};
// Alignment: 2
// Size: 0x13b8
class CDOTA_Modifier_AntiMage_Counterspell : public CDOTA_Buff
{
public:
CModifierParams m_LastParams; // 0x11d8
int32_t magic_resistance; // 0x13b0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AntiMage_ManaVoid : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bane_Enfeeble : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Bane_Enfeeble_Effect : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t heal_reduction; // 0x11dc
int32_t cast_reduction; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Bane_Nightmare : public CDOTA_Buff
{
public:
int32_t m_nSource; // 0x11d8
float animation_rate; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bane_Nightmare_Invulnerable : public CDOTA_Modifier_Invulnerable
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Bane_FiendsGrip : public CDOTA_Buff
{
public:
int32_t fiend_grip_mana_drain; // 0x11d8
float fiend_grip_tick_interval; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Bane_FiendsGrip_Cast_Illusion : public CDOTA_Buff
{
public:
int32_t fiend_grip_mana_drain; // 0x11d8
float fiend_grip_tick_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bane_FiendsGrip_Self : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bane_FiendsGrip_Illusion_Can_Only_Channel : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bane_FiendsGrip_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pudge_Swallow : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Pudge_Swallow_Hide : public CDOTA_Buff
{
public:
float order_lock_duration; // 0x11d8
GameTime_t m_fOrderLockDone; // 0x11dc
int32_t m_nFXIndex; // 0x11e0
float shard_regen_pct; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pudge_Swallow_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pudge_Meat_Hook_PathingFix : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pudge_Meat_Hook : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Pudge_Rot : public CDOTA_Buff
{
public:
int32_t rot_damage; // 0x11d8
int32_t rot_slow; // 0x11dc
int32_t scepter_rot_regen_reduction_pct; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x8]; // 0x11e4
public:
GameTime_t m_flLastRotTime; // 0x11ec
bool m_bQualifiesAsPotentionalDeny; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Pudge_FleshHeap_Block : public CDOTA_Buff
{
public:
float damage_block; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Pudge_FleshHeap : public CDOTA_Buff
{
public:
float magic_resistance; // 0x11d8
float damage_block; // 0x11dc
float flesh_heap_strength_buff_amount; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Pudge_Dismember : public CDOTA_Buff
{
public:
int32_t dismember_damage; // 0x11d8
float strength_damage; // 0x11dc
int32_t m_nTicks; // 0x11e0
int32_t m_nMaxTicks; // 0x11e4
float m_flTickRate; // 0x11e8
float animation_rate; // 0x11ec
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_Pudge_Dismember_Pull : public CDOTA_Buff
{
public:
Vector m_vDestination; // 0x11d8
int32_t pull_units_per_second; // 0x11e4
float pull_distance_limit; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x8]; // 0x11ec
public:
float animation_rate; // 0x11f4
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Juggernaut_BladeFury : public CDOTA_Buff
{
public:
int32_t blade_fury_radius; // 0x11d8
int32_t blade_fury_damage; // 0x11dc
float blade_fury_damage_tick; // 0x11e0
float m_flTotalAppliedDamage; // 0x11e4
int32_t shard_bonus_move_speed; // 0x11e8
float shard_attack_rate; // 0x11ec
GameTime_t m_flNextAttack; // 0x11f0
bool m_bIgnoreAttackRestriction; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Jugg_Caster : public CDOTA_Buff
{
public:
int32_t shard_damage_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Juggernaut_Healing_Ward_Aura : public CDOTA_Buff
{
public:
int32_t healing_ward_movespeed_tooltip; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Juggernaut_Healing_Ward_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Juggernaut_Healing_Ward_Heal : public CDOTA_Buff
{
public:
int32_t healing_ward_heal_amount; // 0x11d8
int32_t m_nStartingHealthThisInterval; // 0x11dc
};
// Alignment: 5
// Size: 0x11e8
class CDOTA_Modifier_Juggernaut_BladeDance : public CDOTA_Buff
{
public:
int32_t blade_dance_crit_mult; // 0x11d8
int32_t blade_dance_crit_chance; // 0x11dc
int32_t blade_dance_lifesteal; // 0x11e0
bool m_bHasCrit; // 0x11e4
bool m_bWasBladeDanceTriggeredCrit; // 0x11e5
};
// Alignment: 15
// Size: 0x1210
class CDOTA_Modifier_Juggernaut_Omnislash : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
CHandle< C_BaseEntity > m_hLastTarget; // 0x11dc
int32_t m_nJumps; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t bonus_attack_speed; // 0x11e8
int32_t omni_slash_radius; // 0x11ec
float attack_rate_multiplier; // 0x11f0
bool m_bFirstHit; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
int32_t m_iTotalDamage; // 0x11f8
int32_t m_iHeroDamage; // 0x11fc
int32_t m_iKilledHeroes; // 0x1200
GameTime_t m_fNextAttackTime; // 0x1204
bool m_bScepterCast; // 0x1208
bool m_bReflection; // 0x1209
bool m_bEndNext; // 0x120a
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Juggernaut_Omnislash_Invulnerability : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Holdout_BladeFury : public CDOTA_Buff
{
public:
int32_t blade_fury_damage; // 0x11d8
int32_t blade_dance_crit_chance; // 0x11dc
int32_t blade_dance_crit_mult; // 0x11e0
float blade_fury_damage_tick; // 0x11e4
int32_t blade_fury_radius; // 0x11e8
int32_t bonus_evasion; // 0x11ec
bool m_bTryToCrit; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Holdout_Omnislash : public CDOTA_Buff
{
public:
float animation_rate; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Juggernaut_Holdout_Omnislash_FollowupAttack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Shadowraze_Debuff : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
int32_t turn_rate_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Shadowraze_Counter : public CDOTA_Buff
{
public:
float shadowraze_cooldown; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Nevermore_Presence_Aura : public CDOTA_Buff
{
public:
int32_t presence_radius; // 0x11d8
float kill_buff_duration; // 0x11dc
GameTime_t m_fLastStackChange; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Nevermore_Presence : public CDOTA_Buff
{
public:
int32_t presence_armor_reduction; // 0x11d8
int32_t bonus_armor_per_stack; // 0x11dc
bool m_bWasHidden; // 0x11e0
};
// Alignment: 9
// Size: 0x1210
class CDOTA_Modifier_Nevermore_Necromastery : public CDOTA_Buff
{
public:
int32_t necromastery_damage_per_soul; // 0x11d8
int32_t necromastery_max_souls; // 0x11dc
int32_t necromastery_max_souls_scepter; // 0x11e0
int32_t shard_crit_pct; // 0x11e4
int32_t shard_souls_per_kill; // 0x11e8
float shard_fear_duration; // 0x11ec
ParticleIndex_t m_iParticleSoulsIndex; // 0x11f0
ParticleIndex_t m_FXIndex; // 0x11f4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nevermore_Requiem_InvisBreak : public CDOTA_Buff
{
public:
bool bDisableInvis; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nevermore_Requiem_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nevermore_Requiem_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Nevermore_Requiem_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Nevermore_Necromastery_Fear : public CDOTA_Modifier_Nevermore_Requiem_Fear
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Nevermore_Requiem_Slow : public CDOTA_Buff
{
public:
int32_t requiem_reduction_ms; // 0x11d8
int32_t requiem_reduction_mres; // 0x11dc
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_SandKing_CausticFinale : public CDOTA_Buff
{
public:
float caustic_finale_duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_SandKing_CausticFinaleOrb : public CDOTA_Buff
{
public:
int32_t caustic_finale_radius; // 0x11d8
int32_t caustic_finale_damage_base; // 0x11dc
int32_t caustic_finale_damage_pct; // 0x11e0
int32_t caustic_finale_slow; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_SandKing_Impale : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Sand_King_BurrowStrike : public CDOTA_Buff
{
public:
Vector m_vPopupLocation; // 0x11d8
bool m_bTeleported; // 0x11e4
};
// Alignment: 10
// Size: 0x1220
class CDOTA_Modifier_SandKing_SandStorm : public CDOTA_Modifier_PersistentInvisibility
{
public:
int32_t 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
Vector vecSpawnPos; // 0x120c
int32_t m_iExplosionQuadrant; // 0x1218
int32_t m_iExplosionDistance; // 0x121c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SandKing_SandStorm_Slow_Aura_Thinker : public CDOTA_Buff
{
public:
int32_t sand_storm_radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SandKing_SandStorm_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t blind; // 0x11dc
};
// Alignment: 6
// Size: 0x1238
class CDOTA_Modifier_SandKing_Epicenter : public CDOTA_Buff
{
public:
int32_t epicenter_radius_base; // 0x11d8
int32_t epicenter_radius_increment; // 0x11dc
int32_t epicenter_pulses; // 0x11e0
int32_t epicenter_radius[16]; // 0x11e4
int32_t m_iMaxPulses; // 0x1224
int32_t m_iPulseCount; // 0x1228
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SandKing_Epicenter_Slow : public CDOTA_Buff
{
public:
int32_t epicenter_slow; // 0x11d8
int32_t epicenter_slow_as; // 0x11dc
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Sand_King_Shard : public CDOTA_Buff
{
public:
float shard_move_distance; // 0x11d8
Vector vLastPos; // 0x11dc
float m_fAccumulatedDistance; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Mirana_Starfall_Scepter_Thinker : public CDOTA_Buff
{
public:
float interval_scepter; // 0x11d8
bool bInBufferTime; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
int32_t damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mirana_Starfall_Thinker : public CDOTA_Buff
{
public:
int32_t starfall_secondary_radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mirana_Leap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_Mirana_Leap : public CDOTA_Buff
{
public:
int32_t leap_distance; // 0x11d8
float shard_radius; // 0x11dc
float shard_radius_end; // 0x11e0
float shard_damage; // 0x11e4
float shard_slow_pct; // 0x11e8
float shard_slow_duration; // 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: 0x11e0
class CDOTA_Modifier_Mirana_Leap_Slow : public CDOTA_Buff
{
public:
int32_t shard_slow_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Mirana_Leap_Buff : public CDOTA_Buff
{
public:
int32_t leap_speedbonus; // 0x11d8
int32_t leap_speedbonus_as; // 0x11dc
bool m_bCritUsed; // 0x11e0
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Mirana_MoonlightShadow : public CDOTA_Modifier_PersistentInvisibility
{
public:
float duration; // 0x11e8
int32_t bonus_movement_speed; // 0x11ec
int32_t evasion; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mirana_MoonlightShadow_KillTracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sven_Stormbolt_Hide : public CDOTA_Buff
{
public:
int32_t m_nHandle; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Sven_GreatCleave : public CDOTA_Buff
{
public:
int32_t cleave_starting_width; // 0x11d8
int32_t cleave_ending_width; // 0x11dc
int32_t cleave_distance; // 0x11e0
int32_t great_cleave_damage; // 0x11e4
int32_t strength_bonus; // 0x11e8
int16_t m_nLastCleaveRecord; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ee[0x2]; // 0x11ee
public:
int32_t m_nLastCleaveKills; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sven_Warcry_Aura : public CDOTA_Buff
{
public:
int32_t shard_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sven_Warcry_Passive : public CDOTA_Buff
{
public:
int32_t shard_passive_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Sven_Warcry : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sven_GodsStrength : public CDOTA_Buff
{
public:
int32_t gods_strength_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_HellfireBlast : public CDOTA_Buff
{
public:
int32_t blast_dot_damage; // 0x11d8
int32_t blast_slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_HellfireBlast_Skeleton_Buff : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_move_speed; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_SkeletonKing_VampiricAura : public CDOTA_Buff
{
public:
int32_t vampiric_aura; // 0x11d8
int32_t creep_lifesteal_reduction_pct; // 0x11dc
float skeleton_duration; // 0x11e0
int32_t max_skeleton_charges; // 0x11e4
int32_t m_iKillCounter; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
};
// Alignment: 10
// Size: 0x11f8
class CDOTA_Modifier_SkeletonKing_VampiricAura_Summon : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t talent_skeleton_damage; // 0x11dc
bool m_bRespawnReady; // 0x11e0
bool m_bRespawnConsumed; // 0x11e1
bool m_bKillParentOnDestroy; // 0x11e2
private:
[[maybe_unused]] uint8_t __pad11e3[0x1]; // 0x11e3
public:
GameTime_t m_flRespawnTime; // 0x11e4
int32_t vampiric_aura; // 0x11e8
int32_t gold_bounty; // 0x11ec
int32_t xp_bounty; // 0x11f0
int32_t skeleton_building_damage_reduction; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_MortalStrike : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_Reincarnation : public CDOTA_Buff
{
public:
float reincarnate_time; // 0x11d8
int32_t scepter_aura_radius; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_SkeletonKing_Reincarnation_SpawnSkeletons : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_Reincarnation_Slow : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
int32_t attackslow; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter : public CDOTA_Buff
{
public:
float scepter_duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_RespawnTime : public CDOTA_Buff
{
public:
float scepter_respawn_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Skeleton_King_Scepter_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Skeleton_King_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_StormSpirit_Electric_Rave : public CDOTA_Buff
{
public:
int32_t overload_aoe; // 0x11d8
int32_t overload_damage; // 0x11dc
int32_t shard_attack_speed_bonus; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_StormSpirit_StaticRemnantThinker : public CDOTA_Buff
{
public:
int32_t static_remnant_radius; // 0x11d8
int32_t static_remnant_damage_radius; // 0x11dc
int32_t static_remnant_damage; // 0x11e0
float static_remnant_delay; // 0x11e4
int32_t m_iSearchRadius; // 0x11e8
int32_t m_iDamageRadius; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_StormSpirit_ElectricVortex_SelfSlow : public CDOTA_Buff
{
public:
int32_t electric_vortex_self_slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_StormSpirit_ElectricVortex_Pull : public CDOTA_Buff
{
public:
Vector m_vDestination; // 0x11d8
int32_t electric_vortex_pull_distance; // 0x11e4
float electric_vortex_pull_tether_range; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_StormSpirit_ElectricVortex_NoStack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_StormSpirit_Overload_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_StormSpirit_Overload : public CDOTA_Buff
{
public:
int32_t overload_aoe; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_StormSpirit_OverloadSlow : public CDOTA_Buff
{
public:
int32_t overload_move_slow; // 0x11d8
int32_t overload_attack_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_StormSpirit_BallLightning : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Holdout_StaticRemnantThinker : public CDOTA_Buff
{
public:
int32_t static_remnant_radius; // 0x11d8
int32_t static_remnant_damage_radius; // 0x11dc
int32_t static_remnant_damage; // 0x11e0
float static_remnant_delay; // 0x11e4
float overload_duration; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_StormSpirit_StaticRemnant_Talent : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DrowRanger_WaveOfSilence_Buff : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_WaveOfSilence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_DrowRanger_WaveOfSilence_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_Trueshot : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_Trueshot_Global : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DrowRanger_TrueshotAura : public CDOTA_Buff
{
public:
float trueshot_ranged_attack_speed; // 0x11d8
};
// Alignment: 11
// Size: 0x1230
class CDOTA_Modifier_DrowRanger_Marksmanship : public CDOTA_Buff
{
public:
int32_t chance; // 0x11d8
ParticleIndex_t m_nFxIndex; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
CUtlVector< int16 > m_GlacialInFlightAttackRecords; // 0x11f8
int32_t bonus_factor; // 0x1210
int32_t disable_range; // 0x1214
int32_t agility_range; // 0x1218
int32_t bonus_damage; // 0x121c
int32_t split_count; // 0x1220
int32_t split_range; // 0x1224
bool m_bGlacialAttack; // 0x1228
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DrowRanger_Marksmanship_Aura_Bonus : public CDOTA_Buff
{
public:
int32_t agility_multiplier; // 0x11d8
float agility_multiplier_ally; // 0x11dc
};
// Alignment: 3
// Size: 0x1250
class CDOTA_Modifier_DrowRanger_Marksmanship_Reduction : public CDOTA_Buff
{
public:
int32_t split_damage_reduction; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVectorFixedGrowable< int32 > m_vecRecords; // 0x11e0
CUtlVectorFixedGrowable< GameTime_t > m_vecRecordTimes; // 0x1218
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_DrowRanger_FrostArrows : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
int32_t shard_bonus_damage_per_stack; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_DrowRanger_FrostArrows_Slow : public CDOTA_Buff
{
public:
int32_t frost_arrows_movement_speed; // 0x11d8
int32_t shard_max_stacks; // 0x11dc
float shard_stack_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DrowRanger_FrostArrows_Shard_Slow : public CDOTA_Buff
{
public:
int32_t shard_burst_move_slow_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia : public CDOTA_Buff
{
public:
int32_t shard_regen_reduction_pct_per_stack; // 0x11d8
int32_t shard_burst_radius; // 0x11dc
ParticleIndex_t m_nFXStackIndex; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_FrostArrows_Hypothermia_Active : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop : public CDOTA_Buff
{
public:
int32_t multishot_arrow_bonus; // 0x11d8
int32_t end_height; // 0x11dc
int32_t attack_range_bonus; // 0x11e0
};
// Alignment: 13
// Size: 0x1218
class CDOTA_Modifier_Drow_Ranger_Multishot : public CDOTA_Buff
{
public:
int32_t m_iArrowCount; // 0x11d8
Vector m_vOriginalTarget; // 0x11dc
int32_t arrow_width; // 0x11e8
float arrow_speed; // 0x11ec
float arrow_range_multiplier; // 0x11f0
int32_t wave_count; // 0x11f4
int32_t arrow_count_per_wave; // 0x11f8
int32_t arrow_angle; // 0x11fc
int32_t m_iLoopCount; // 0x1200
float m_flInterval; // 0x1204
float m_flCycleDelay; // 0x1208
float m_flTimeWaste; // 0x120c
GameTime_t m_flExpectedTime; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Drow_Ranger_Multishot_Damage : public CDOTA_Buff
{
public:
int32_t arrow_damage_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_ArcanaKill_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DrowRanger_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Aura : public CDOTA_Buff
{
public:
int32_t shard_width; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Drow_Ranger_Glacier_Hilltop_Removal : public CDOTA_Buff
{
public:
float z_speed_override; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Drow_Ranger_Glacier_Shard : public CDOTA_Buff
{
public:
uint32_t m_unOccluderID; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Shard : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Earthshaker_Arcana : public CDOTA_Buff
{
public:
int32_t m_nComboCount; // 0x11d8
float m_flComboWindow; // 0x11dc
float m_flComboDisplayInterval; // 0x11e0
float m_flDamageDone; // 0x11e4
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Earthshaker_Fissure_Shard : public CDOTA_Buff
{
public:
int32_t shard_aftershock_stun_duration_pct; // 0x11d8
float shard_free_pathing_linger_duration; // 0x11dc
Vector m_vStartPos; // 0x11e0
Vector m_vEndPos; // 0x11ec
GameTime_t m_flEndTime; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Fissure_Shard_Pathing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Fissure_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Fissure_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Fissure_Rooted : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Earthshaker_EnchantTotem_Leap : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_EnchantTotem_Animation : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Earthshaker_EnchantTotem : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t totem_damage_percentage; // 0x11dc
int32_t scepter_cleave_pct; // 0x11e0
float scepter_cleave_starting_width; // 0x11e4
float scepter_cleave_ending_width; // 0x11e8
float scepter_cleave_distance; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Earthshaker_Aftershock : public CDOTA_Buff
{
public:
int32_t aftershock_range; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_EchoSlam_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Echoslam_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earthshaker_Echoslam_Heating_Up : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Earthshaker_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
bool m_bFrozen; // 0x11d8
bool m_bFlail; // 0x11d9
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Fear : public CDOTA_Modifier_Fear
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_WaveOfTerror : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
int32_t damage_reduction_pct; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_WaveOfTerror_Buff : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Command_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Command_Aura_Illusion : public CDOTA_Modifier_Invulnerable
{
public:
CHandle< C_BaseEntity > hTarget; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Command_Aura_Effect : public CDOTA_Buff
{
public:
int32_t bonus_base_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Command_Negative_Aura_Effect : public CDOTA_Buff
{
public:
int32_t bonus_damage_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_VengefulSpirit_Nether_Swap_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Nether_Swap_DamageReduction : public CDOTA_Buff
{
public:
float damage_reduction; // 0x11d8
ParticleIndex_t nFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_VengefulSpirit_Nether_Swap_PathingFix : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VengefulSpirit_Hybrid_Special : public CDOTA_Buff
{
public:
int32_t scepter_illusion_ms_bonus_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_VengefulSpirit_XP_Earn : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathStart; // 0x11d8
Vector m_vPathEnd; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Bonus : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CrystalMaiden_Let_It_Go_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_CrystalMaiden_CrystalNova : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_CrystalMaiden_Frostbite : public CDOTA_Buff
{
public:
int32_t max_ticks; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t creep_damage_per_second; // 0x11e0
float tick_interval; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CrystalMaiden_BrillianceAura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_CrystalMaiden_BrillianceAuraEffect : public CDOTA_Buff
{
public:
float base_mana_regen; // 0x11d8
float self_factor; // 0x11dc
float proximity_bonus_factor; // 0x11e0
int32_t proximity_bonus_radius; // 0x11e4
};
// Alignment: 20
// Size: 0x1248
class CDOTA_Modifier_CrystalMaiden_FreezingField : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage; // 0x11dc
int32_t bonus_armor; // 0x11e0
float explosion_interval; // 0x11e4
float shard_bonus_explosion; // 0x11e8
int32_t explosion_radius; // 0x11ec
float slow_duration; // 0x11f0
int32_t explosion_min_dist; // 0x11f4
int32_t explosion_max_dist; // 0x11f8
float frostbite_delay; // 0x11fc
GameTime_t m_fLastTick; // 0x1200
float m_fTimeAccumulator; // 0x1204
int32_t m_iExplosionCount; // 0x1208
int32_t m_iExplosionTotalCount; // 0x120c
int32_t m_iExplosionQuadrant; // 0x1210
int32_t m_iExplosionDistance; // 0x1214
int32_t shard_self_movement_speed_slow_pct; // 0x1218
ParticleIndex_t m_nFXIndex; // 0x121c
private:
[[maybe_unused]] uint8_t __pad1220[0x8]; // 0x1220
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1228
int32_t can_move; // 0x1240
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_CrystalMaiden_FreezingField_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attack_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CrystalMaiden_FreezingField_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_CrystalMaiden_IceRink_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float rink_formation_time; // 0x11dc
bool m_bActive; // 0x11e0
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_CrystalMaiden_IceRink_Movement : public CDOTA_Buff
{
public:
bool m_bHitFirstUpdate; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
float flMovementSpeed; // 0x11dc
float m_flTurnBoostProgress; // 0x11e0
float m_flFacingTarget; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
GameTime_t m_flHitEndTime; // 0x11ec
float hit_recover_time; // 0x11f0
Vector m_vDirection; // 0x11f4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CDOTA_Modifier_CrystalMaiden_IceRink_Movement_Ricochet : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Axe_BattleHunger : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
int32_t slow; // 0x11dc
int32_t scepter_armor_change; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Axe_BatleHunger_Self : public CDOTA_Buff
{
public:
int32_t scepter_armor_change; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Axe_BatleHunger_Self_Movespeed : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Axe_BerserkersCall : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
bool m_bDidSetAttackTarget; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Axe_BerserkersCallArmor : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Axe_CounterHelix : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t trigger_attacks; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Axe_CounterHelix_DamageReduction : public CDOTA_Buff
{
public:
int32_t shard_damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Axe_Culling_Blade_NoMinHealth : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Axe_Culling_Blade_Charge : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Axe_CullingBlade_Boost : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
int32_t atk_speed_bonus; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Axe_CullingBlade_Permanent : public CDOTA_Buff
{
public:
float armor_per_stack; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Axe_CullingBlade_JungleWeaponGesture : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_HoldoutCullingBlade : public CDOTA_Buff
{
public:
int32_t leap_distance; // 0x11d8
int32_t leap_radius; // 0x11dc
float leap_speed; // 0x11e0
float leap_acceleration; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Bloodseeker_Bloodrage : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t spell_amp; // 0x11dc
float shard_max_health_dmg_pct; // 0x11e0
float damage_pct; // 0x11e4
float flTickRate; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Bloodseeker_Bloodbath_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Bloodseeker_Thirst : public CDOTA_Buff
{
public:
int32_t hero_kill_heal; // 0x11d8
int32_t creep_kill_heal; // 0x11dc
int32_t half_bonus_aoe; // 0x11e0
int32_t visibility_threshold_pct; // 0x11e4
int32_t invis_threshold_pct; // 0x11e8
int32_t min_bonus_pct; // 0x11ec
int32_t max_bonus_pct; // 0x11f0
int32_t bonus_movement_speed; // 0x11f4
float linger_duration; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x11fc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Bloodseeker_Thirst_Vision : public CDOTA_Buff
{
public:
int32_t invis_threshold_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Bloodseeker_Thirst_Speed : public CDOTA_Buff
{
public:
CUtlSymbolLarge m_iszModifierString; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bloodseeker_Rupture_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Bloodseeker_Rupture : public CDOTA_Buff
{
public:
int32_t movement_damage_pct; // 0x11d8
float hp_pct; // 0x11dc
Vector vLastPos; // 0x11e0
bool bResetPosition; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_fAccumulatedDamage; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Bloodseeker_BloodMist_Barrier : public CDOTA_Buff
{
public:
GameTime_t flLastGameTime; // 0x11d8
float m_flCurrentShield; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bloodseeker_BloodMist_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Bloodseeker_BloodMist : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Bloodseeker_BloodMist_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomLancer_SpiritLance : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_PhantomLancer_Dopplewalk_Phase : public CDOTA_Buff
{
public:
Vector vTargetPosition; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomLancer_Doppelwalk_Illusion : public CDOTA_Buff
{
public:
float flDamageTaken; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomLancer_Juxtapose_Cache : public CDOTA_Buff
{
public:
PlayerID_t m_nControllingPlayer; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_PhantomLancer_Juxtapose_Invisibility : public CDOTA_Modifier_Invisible
{
public:
float invis_movespeed; // 0x11e8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_PhantomLancer_Juxtapose_Thinker : public CDOTA_Buff
{
public:
int32_t max_illusions; // 0x11d8
int32_t scepter_bonus_illusions; // 0x11dc
float illusion_duration; // 0x11e0
int32_t illusion_damage_out_pct; // 0x11e4
int32_t illusion_damage_in_pct; // 0x11e8
float scepter_bonus_duration; // 0x11ec
int32_t m_iIllusionsSoFar; // 0x11f0
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_PhantomLancer_Juxtapose : public CDOTA_Buff
{
public:
int32_t proc_chance_pct; // 0x11d8
int32_t illusion_proc_chance_pct; // 0x11dc
int32_t max_illusions; // 0x11e0
float illusion_duration; // 0x11e4
int32_t illusion_damage_out_pct; // 0x11e8
int32_t illusion_damage_in_pct; // 0x11ec
int32_t shard_bonus_illusions; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_PhantomLancer_PhantomEdge : public CDOTA_Buff
{
public:
int32_t min_distance; // 0x11d8
int32_t max_distance; // 0x11dc
CHandle< C_BaseEntity > m_hTarget; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_PhantomLancer_PhantomEdge_Boost : public CDOTA_Buff
{
public:
int32_t bonus_speed; // 0x11d8
float agility_duration; // 0x11dc
bool m_bGiveAgility; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomLancer_PhantomEdge_Agility : public CDOTA_Buff
{
public:
int32_t bonus_agility; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomLancer_JuxtaposeIllusion : public CDOTA_Buff
{
public:
bool m_bstrongIllusion; // 0x11d8
};
// Alignment: 15
// Size: 0x1240
class CDOTA_Modifier_Razor_PlasmaField_Thinker : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
bool m_bContracting; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CountdownTimer m_ViewerTimer; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1208
int32_t speed; // 0x1220
int32_t radius; // 0x1224
float damage_min; // 0x1228
float damage_max; // 0x122c
int32_t slow_min; // 0x1230
int32_t slow_max; // 0x1234
float slow_duration; // 0x1238
bool m_bHasCreatedFx; // 0x123c
};
// Alignment: 10
// Size: 0x1210
class CDOTA_Modifier_Razor_StaticLink : public CDOTA_Buff
{
public:
float flSmoothness; // 0x11d8
float drain_duration; // 0x11dc
int32_t drain_rate; // 0x11e0
int32_t drain_range; // 0x11e4
int32_t drain_range_buffer; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11ec
int32_t m_iTotalDrainAmount; // 0x11f0
ParticleIndex_t m_iLinkIndex; // 0x11f4
CDOTA_Buff* m_pBuffPositive; // 0x11f8
CDOTA_Buff* m_pNegative; // 0x1200
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Razor_StaticLink_Buff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t drain_rate; // 0x11dc
float drain_length; // 0x11e0
int32_t attack_speed_factor; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Razor_StaticLink_Debuff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t attack_speed_factor; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Razor_Link_Vision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Razor_UnstableCurrent_Aura : public CDOTA_Buff
{
public:
int32_t self_movement_speed_pct; // 0x11d8
int32_t shard_pct_chance; // 0x11dc
int32_t shard_damage; // 0x11e0
int32_t shard_move_slow_pct; // 0x11e4
int32_t shard_search_radius; // 0x11e8
int32_t shard_target_count; // 0x11ec
float shard_slow_duration; // 0x11f0
float shard_internal_cd; // 0x11f4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Razor_UnstableCurrent_Delayed_Damage : public CDOTA_Buff
{
public:
int32_t shard_damage; // 0x11d8
float shard_slow_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Razor_UnstableCurrent_Slow : public CDOTA_Buff
{
public:
int32_t shard_move_slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Razor_PlasmaField_Slow : public CDOTA_Buff
{
public:
int32_t slow_amount; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Razor_EyeOfTheStorm_Passive : public CDOTA_Buff
{
public:
int32_t passive_area_damage; // 0x11d8
float passive_area_interval; // 0x11dc
int32_t radius; // 0x11e0
bool m_bHitNext; // 0x11e4
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Razor_EyeOfTheStorm : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t armor_reduction; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Razor_EyeOfTheStorm_Armor : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Razor_Arcana : public CDOTA_Buff
{
public:
bool m_bIsMeleeAttack; // 0x11d8
bool m_bTauntQueued; // 0x11d9
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Razor_Arcana_EmpoweredState : public CDOTA_Buff
{
public:
ParticleIndex_t m_nEmpoweredBodyFX; // 0x11d8
ParticleIndex_t m_nEmpoweredWeaponFX; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Razor_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
ParticleIndex_t m_nCasterFXIndex; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Lina_LightStrikeArray_Thinker : public CDOTA_Buff
{
public:
int32_t m_iDamage; // 0x11d8
float m_flStunDuration; // 0x11dc
int32_t light_strike_array_aoe; // 0x11e0
int32_t light_strike_array_damage; // 0x11e4
float light_strike_array_stun_duration; // 0x11e8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Lina_FierySoul : public CDOTA_Buff
{
public:
int32_t fiery_soul_attack_speed_bonus; // 0x11d8
float fiery_soul_move_speed_bonus; // 0x11dc
int32_t fiery_soul_max_stacks; // 0x11e0
float fiery_soul_stack_duration; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
GameTime_t m_flFierySoulDieTime; // 0x11ec
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Lina_LagunaBlade_Line : public CDOTA_Buff
{
public:
Vector vStart; // 0x11d8
Vector vEnd; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lina_LagunaBlade : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lina_LagunaBlade_Superheated : public CDOTA_Buff
{
public:
int32_t increased_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Lina_Fiery_Cloak : public CDOTA_Buff
{
public:
int32_t magic_resistance; // 0x11d8
int32_t spell_amp; // 0x11dc
float visualzdelta; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Waveform_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Waveform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Morphling_Adaptive_Strike_Armor : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Adaptive_Strike : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Morphling_Morph : public CDOTA_Buff
{
public:
float tick_rate; // 0x11d8
int32_t bonus_attributes; // 0x11dc
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Morphling_Morph_Agi : public CDOTA_Buff
{
public:
int32_t mana_cost; // 0x11d8
int32_t points_per_tick; // 0x11dc
float morph_cooldown; // 0x11e0
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Morphling_Morph_Str : public CDOTA_Buff
{
public:
int32_t mana_cost; // 0x11d8
int32_t points_per_tick; // 0x11dc
float morph_cooldown; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Buff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_status_resist; // 0x11dc
int32_t nStrengthSteal; // 0x11e0
int32_t nAgiSteal; // 0x11e4
int32_t nIntSteal; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Strength_Debuff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_status_resist; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Buff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_attack_speed; // 0x11dc
int32_t nStrengthSteal; // 0x11e0
int32_t nAgilitySteal; // 0x11e4
int32_t nIntSteal; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Agility_Debuff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_attack_speed; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Buff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_spell_amplify; // 0x11dc
int32_t nStrengthSteal; // 0x11e0
int32_t nIntSteal; // 0x11e4
int32_t nAgilitySteal; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_Intelligence_Debuff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t scepter_spell_amplify; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Buff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
int32_t nStrengthSteal; // 0x11dc
int32_t nAgiSteal; // 0x11e0
int32_t nIntSteal; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Morphling_ScepterStatsDrain_All_Debuff : public CDOTA_Buff
{
public:
int32_t scepter_stat_steal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Replicate_Manager : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 15
// Size: 0x1268
class CDOTA_Modifier_Morphling_Replicate : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTinyTreeWearable; // 0x11d8
float m_flBaseAttackRange; // 0x11dc
float m_flBaseMovementSpeed; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlSymbolLarge m_iszModelName; // 0x11e8
CUtlSymbolLarge m_iszProjectileName; // 0x11f0
CUtlSymbolLarge m_iszOriginalModel; // 0x11f8
int32_t m_nCopiedHeroID; // 0x1200
float m_fOriginalModelScale; // 0x1204
CUtlVector< C_EconItemView* > m_vecOriginalItems; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1220[0x30]; // 0x1220
public:
float m_flOriginalStr; // 0x1250
float m_flOriginalAgi; // 0x1254
float m_flOriginalInt; // 0x1258
int32_t m_iOriginalAttackCapability; // 0x125c
float m_flOriginalHealthPercentage; // 0x1260
float m_flOriginalManaPercentage; // 0x1264
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Replicate_MorphedIllusionsEffect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Morphling_Scepter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Zuus_Static_Field : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Zuus_Static_Field_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
int32_t aspd_slow; // 0x11dc
int32_t cast_slow; // 0x11e0
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_Zuus_ArcLightning : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t jump_count; // 0x11dc
int32_t arc_damage; // 0x11e0
float jump_delay; // 0x11e4
int32_t damage_health_pct; // 0x11e8
int32_t total_damage_pct; // 0x11ec
int32_t m_iCurJumpCount; // 0x11f0
Vector m_vCurTargetLoc; // 0x11f4
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1200
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Zuus_ArcLightningSlow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Zuus_LightningBoltThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Zuus_ThundergodsWrathThinker : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
float sight_duration; // 0x11dc
int32_t second_strike_damage_percent; // 0x11e0
float second_strike_delay; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Zuus_ThundergodsWrathVisionThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Zuus_Cloud : public CDOTA_Buff
{
public:
CountdownTimer m_CloudBoltTimer; // 0x11d8
float cloud_bolt_interval; // 0x11f0
int32_t cloud_radius; // 0x11f4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Zuus_Heavenly_Jump : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Zuus_Heavenly_Jump_Boost : public CDOTA_Buff
{
public:
int32_t postjump_movespeed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Zuus_ThunderTrail_Debuff : public CDOTA_Buff
{
public:
int32_t debuff_spell_amp; // 0x11d8
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Zuus_Lightning_Hands : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11f0
int32_t arc_lightning_damage_pct; // 0x11f4
int32_t arc_lightning_damage_illusion_pct; // 0x11f8
int32_t attack_range_bonus; // 0x11fc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Torrent_Thinker : public CDOTA_Buff
{
public:
bool m_bShowEnemies; // 0x11d8
bool m_bTorrentStorm; // 0x11d9
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Kunkka_Torrent : public CDOTA_Buff
{
public:
int32_t torrent_damage; // 0x11d8
float damage_tick_interval; // 0x11dc
float flDamagePerTick; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Torrent_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_Tidebringer_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Kunkka_Torrent_Storm : public CDOTA_Buff
{
public:
int32_t torrent_min_distance; // 0x11d8
int32_t torrent_max_distance; // 0x11dc
int32_t m_iExplosionQuadrant; // 0x11e0
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Kunkka_Tidebringer : public CDOTA_Buff
{
public:
bool m_bTidebringerAttack; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t cleave_starting_width; // 0x11dc
int32_t cleave_ending_width; // 0x11e0
int32_t cleave_distance; // 0x11e4
int32_t damage_bonus; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
int32_t cleave_damage; // 0x11f0
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Kunkka_XMarksTheSpot : public CDOTA_Buff
{
public:
int32_t ally_ms; // 0x11d8
int32_t ally_armor; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Kunkka_XMarksTheSpotMarker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Kunkka_XMarksTheSpot_Thinker : public CDOTA_Buff
{
public:
Vector m_vStartLoc; // 0x11d8
bool m_bIsReflection; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CHandle< C_BaseEntity > m_hEntity; // 0x11e8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Kunkka_Ghost_Ship_Fleet : public CDOTA_Buff
{
public:
Vector vCasterOrigin; // 0x11d8
Vector vEnd; // 0x11e4
int32_t hitcount; // 0x11f0
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Kunkka_GhostShip_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Kunkka_GhostShip_Loaded : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Kunkka_GhostShip_DamageAbsorb : public CDOTA_Buff
{
public:
int32_t m_iAccumulatedDamage; // 0x11d8
int32_t movespeed_bonus; // 0x11dc
float ghostship_absorb; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Kunkka_GhostShip_DamageDelay : public CDOTA_Buff
{
public:
int32_t m_iAccumulatedDamage; // 0x11d8
float m_flDuration; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Tiny_CraggyExterior : public CDOTA_Buff
{
public:
int32_t stun_chance; // 0x11d8
float stun_duration; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tiny_Avalanche_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Tiny_Avalanche : public CDOTA_Buff
{
public:
CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11d8
int32_t radius; // 0x11f0
float total_duration; // 0x11f4
float stun_duration; // 0x11f8
int32_t tick_count; // 0x11fc
float toss_multiplier; // 0x1200
int32_t m_damage; // 0x1204
int32_t m_nTicks; // 0x1208
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tiny_Toss_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tiny_Toss : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t toss_damage; // 0x11dc
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_Tiny_Tree_Grab : public CDOTA_Buff
{
public:
int32_t attack_count; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t bonus_damage_buildings; // 0x11e0
float stun_duration; // 0x11e4
int32_t attack_range; // 0x11e8
int32_t m_nOriginalAttackCapability; // 0x11ec
float bat_increase; // 0x11f0
int32_t speed_reduction; // 0x11f4
int32_t m_nBonusAttackRange; // 0x11f8
CHandle< C_BaseEntity > m_hStolenTree; // 0x11fc
ParticleIndex_t m_nFXIndex; // 0x1200
ParticleIndex_t m_nFXAttackIndex; // 0x1204
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Tiny_Tree_Channel : public CDOTA_Buff
{
public:
int32_t tree_grab_radius; // 0x11d8
int32_t splash_radius; // 0x11dc
int32_t speed; // 0x11e0
float interval; // 0x11e4
Vector m_vPos; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tiny_Tree_Channel_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tiny_TossTree_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tiny_TossTree_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Tiny_Grow : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
int32_t attack_speed_reduction; // 0x11dc
int32_t bonus_damage; // 0x11e0
float tree_bonus_damage_pct; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Puck_PhaseShift : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Puck_PhaseShift_AttackBonus : public CDOTA_Buff
{
public:
int32_t shard_bonus_damage; // 0x11d8
};
// Alignment: 8
// Size: 0x1220
class CDOTA_Modifier_Puck_DreamCoil_Thinker : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11d8
int32_t coil_radius; // 0x11f0
int32_t coil_break_radius; // 0x11f4
int32_t coil_initial_damage; // 0x11f8
float coil_stun_duration; // 0x11fc
float coil_duration; // 0x1200
int32_t coil_break_damage; // 0x1204
CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1208
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Puck_Coiled : public CDOTA_Buff
{
public:
Vector m_vCastLocation; // 0x11d8
int32_t coil_rapid_fire_z_offset; // 0x11e4
float coil_rapid_fire_rate; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Windrunner_ShackleShot : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Windrunner_Windrun_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Windrunner_Windrun_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Windrunner_Windrun_Invis_Thinker : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Windrunner_Windrun_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Windrunner_Windrun : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t scepter_radius; // 0x11dc
int32_t movespeed_bonus_pct; // 0x11e0
bool m_bDispellable; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t physical_damage_pct; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Windrunner_Windrun_Slow : public CDOTA_Buff
{
public:
float enemy_movespeed_bonus_pct; // 0x11d8
float scepter_movespeed_bonus_pct; // 0x11dc
int32_t scepter_blind; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Windrunner_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 14
// Size: 0x1218
class CDOTA_Modifier_Windrunner_FocusFire : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t focusfire_damage_reduction; // 0x11dc
bool bActive; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t bonus_attack_speed; // 0x11e4
int32_t focusfire_fire_on_the_move; // 0x11e8
bool m_bPause; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
int32_t m_nNumArrowsLanded; // 0x11f0
int32_t m_nDamageDealt; // 0x11f4
int32_t m_nDamageDealtMax; // 0x11f8
int32_t m_nTargetInitialHP; // 0x11fc
bool m_bHeroKilled; // 0x1200
bool m_bRecentFocusFireAttack; // 0x1201
private:
[[maybe_unused]] uint8_t __pad1202[0xa]; // 0x1202
public:
ParticleIndex_t m_nFXFocusFire; // 0x120c
GameTime_t m_flLastFocusFireAttackTime; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Windrunner_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
bool m_bFrozen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Windrunner_GaleForce_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Windrunner_GaleForce : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Lich_FrostNova_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t slow_attack_speed; // 0x11dc
int32_t slow_attack_speed_primary; // 0x11e0
bool m_bIsPrimary; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lich_Sinister_Gaze_Self : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Lich_Sinister_Gaze : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t mana_drain; // 0x11dc
float m_flIntervalRate; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
float creep_damage; // 0x11e8
bool m_bBlasted; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Lich_DarkSorcery_Buff : public CDOTA_Buff
{
public:
int32_t mana_drain; // 0x11d8
int32_t attack_count; // 0x11dc
int32_t attack_speed; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lich_FrostAura_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lich_FrostAura : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lich_FrostAura_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Lich_ChainFrost_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t slow_attack_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lich_FrostArmor_Autocast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Lich_FrostArmor : public CDOTA_Buff
{
public:
int32_t armor_bonus; // 0x11d8
int32_t health_regen; // 0x11dc
float slow_duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Lich_FrostArmor_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t slow_attack_speed; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Lich_FrostShield : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float interval; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t health_regen; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lich_FrostShield_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Lich_Chain_Frost_Thinker : public CDOTA_Buff
{
public:
int32_t m_nDamageToHeroes; // 0x11d8
int32_t m_nHeroesKilled; // 0x11dc
int32_t m_nJumps; // 0x11e0
bool m_bFirstJump; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11e8
CHandle< C_BaseEntity > m_hAvoidTarget; // 0x11ec
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Lich_Ice_Spire : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
CountdownTimer m_Timer; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lich_Ice_Spire_Debuff : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tidehunter_Gush : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
float negative_armor; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Tidehunter_KrakenShell : public CDOTA_Buff
{
public:
int32_t m_iDamageTaken; // 0x11d8
int32_t damage_reduction; // 0x11dc
int32_t damage_cleanse; // 0x11e0
float damage_reset_interval; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tidehunter_SmashAttack : public CDOTA_Buff
{
public:
int32_t attack_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tidehunter_AnchorSmash_Caster : public CDOTA_Buff
{
public:
int32_t attack_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tidehunter_AnchorSmash : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tidehunter_Ravage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ShadowShaman_EtherShock : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ShadowShaman_Voodoo : public CDOTA_Modifier_Hexed
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_ShadowShaman_Shackles : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
float total_damage; // 0x11dc
float channel_time; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ShadowShaman_SerpentWard : public CDOTA_Buff
{
public:
int32_t scepter_range; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Riki_SmokeScreenThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Riki_SmokeScreen : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
int32_t dodge_chance; // 0x11dc
int32_t block_targeting; // 0x11e0
int32_t armor_reduction; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Riki_BlinkStrike_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Riki_BlinkStrike : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Riki_BlinkStrike_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Riki_Permanent_Invisibility : public CDOTA_Modifier_PersistentInvisibility
{
public:
int32_t movement_speed; // 0x11e8
float fade_delay; // 0x11ec
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_Riki_Backstab : public CDOTA_Modifier_PersistentInvisibility
{
public:
float fade_delay; // 0x11e8
int32_t backstab_angle; // 0x11ec
int32_t cleave; // 0x11f0
float damage_multiplier; // 0x11f4
float bonus_xp_kill; // 0x11f8
float bonus_xp_assist; // 0x11fc
bool m_bBackstab; // 0x1200
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_Riki_TricksOfTheTrade_Phase : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFxIndex; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
CountdownTimer m_Timer; // 0x11e0
CHandle< C_BaseEntity > m_hPreviousTarget; // 0x11f8
int32_t m_nSucceessiveHits; // 0x11fc
int32_t damage_pct; // 0x1200
int32_t agility_pct; // 0x1204
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Riki_Poison_Dart : public CDOTA_Buff
{
public:
int32_t wake_damage_limit; // 0x11d8
float m_flDamageTaken; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Riki_Poison_Dart_Debuff : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Enigma_Malefice : public CDOTA_Buff
{
public:
float tick_rate; // 0x11d8
float stun_duration; // 0x11dc
int32_t damage; // 0x11e0
float duration; // 0x11e4
int32_t m_nEidolonSpawnNum; // 0x11e8
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Enigma_DemonicConversion : public CDOTA_Modifier_Kill
{
public:
int32_t m_iAttackCount; // 0x11e0
int32_t split_attack_count; // 0x11e4
float life_extension; // 0x11e8
int32_t hp_bonus; // 0x11ec
bool m_bAllowSplit; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
int32_t m_nSpawnNum; // 0x11f4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Enigma_MidnightPulseThinker : public CDOTA_Buff
{
public:
float damage_percent; // 0x11d8
int32_t radius; // 0x11dc
ParticleIndex_t n_FXIndex; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Enigma_MidnightPulse_Damage : public CDOTA_Buff
{
public:
float damage_percent; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Enigma_BlackHoleThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t n_FXIndex; // 0x11dc
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Enigma_BlackHole_Pull : public CDOTA_Buff
{
public:
int32_t pull_speed; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage; // 0x11e0
float tick_rate; // 0x11e4
float pull_rotate_speed; // 0x11e8
float animation_rate; // 0x11ec
float scepter_pct_damage; // 0x11f0
GameTime_t m_flDamageTick; // 0x11f4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Enigma_Black_Hole_Thinker_Scepter : public CDOTA_Buff
{
public:
int32_t scepter_radius; // 0x11d8
ParticleIndex_t n_FXIndex; // 0x11dc
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Enigma_Black_Hole_Pull_Scepter : public CDOTA_Buff
{
public:
int32_t scepter_drag_speed; // 0x11d8
float scepter_pull_rotate_speed; // 0x11dc
float aura_origin_x; // 0x11e0
float aura_origin_y; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
Vector m_vCenter; // 0x11ec
GameTime_t m_flLastThinkTime; // 0x11f8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Tinker_Defensive_Matrix : public CDOTA_Buff
{
public:
int32_t damage_absorb; // 0x11d8
int32_t status_resistance; // 0x11dc
int32_t cooldown_reduction; // 0x11e0
bool m_bStartedTimer; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t m_nDamageAbsorbed; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tinker_LaserBlind : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
float max_health_removed; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tinker_Warp_Grenade : public CDOTA_Buff
{
public:
int32_t range_reduction; // 0x11d8
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Tinker_MarchOfTheMachinesThinker : public CDOTA_Buff
{
public:
int32_t collision_radius; // 0x11d8
int32_t radius; // 0x11dc
int32_t distance; // 0x11e0
int32_t distance_scepter; // 0x11e4
int32_t speed; // 0x11e8
int32_t machines_per_sec; // 0x11ec
Vector m_vDir; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tinker_Rearm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_WitchDoctor_Cask_Thinker : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_WitchDoctor_Voodoo_Restoration_Heal : public CDOTA_Buff
{
public:
int32_t heal; // 0x11d8
float mana_per_second; // 0x11dc
float heal_interval; // 0x11e0
int32_t enemy_damage_pct; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_WitchDoctor_MaledictDoT : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_WitchDoctor_Maledict : public CDOTA_Buff
{
public:
int32_t m_iStartHealth; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t bonus_damage_threshold; // 0x11e0
int32_t ticks; // 0x11e4
int32_t iCurrentTick; // 0x11e8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_WitchDoctor_DeathWard : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t attack_speed_reduction; // 0x11dc
int32_t m_iBounceRadius; // 0x11e0
int32_t bonus_accuracy; // 0x11e4
bool m_bFirstAttack; // 0x11e8
bool m_bShard; // 0x11e9
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_WitchDoctor_Voodoo_Switcheroo : public CDOTA_Buff
{
public:
Vector m_vSavedPos; // 0x11d8
CHandle< C_BaseEntity > m_hSavedAbility; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Sniper_Shrapnel_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Sniper_Shrapnel_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
bool m_bExploded; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Sniper_Shrapnel_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
int32_t shrapnel_damage; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Sniper_Headshot : public CDOTA_Buff
{
public:
int32_t proc_chance; // 0x11d8
float slow_duration; // 0x11dc
float knockback_distance; // 0x11e0
int32_t bonus_damage_creeps; // 0x11e4
int32_t bonus_attack_range; // 0x11e8
int32_t damage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sniper_Headshot_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sniper_TakeAim : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Sniper_TakeAim_Bonus : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t active_attack_range_bonus; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Sniper_Assassinate_Crit : public CDOTA_Buff
{
public:
int32_t scepter_crit_damage; // 0x11d8
int32_t scatter_damage_pct; // 0x11dc
bool is_secondary; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Sniper_Assassinate : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Sniper_Concussive_Grenade : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Necrolyte_Sadist_Active : public CDOTA_Buff
{
public:
int32_t heal_bonus; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t slow_aoe; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necrolyte_Sadist_Aura_Effect : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necrophos_Death_Seeker_Ethereal : public CDOTA_Buff
{
public:
int32_t magic_resistance_reduction; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Necrolyte_Heartstopper_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
bool m_bStackCountChanged; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
CUtlVector< GameTime_t > m_fStackExpireTimes; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Counter : public CDOTA_Buff
{
public:
float mana_regen; // 0x11d8
float health_regen; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Necrolyte_Heartstopper_Aura_Effect : public CDOTA_Buff
{
public:
float aura_damage; // 0x11d8
int32_t heal_reduction_pct; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 3
// Size: 0x11e0
class CDOTA_Modifier_Necrolyte_ReapersScythe : public CDOTA_Modifier_Stunned
{
public:
float stun_duration; // 0x11d8
bool m_bIllusion; // 0x11dc
bool m_bArcWardenClone; // 0x11dd
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Necrolyte_ReapersScythe_RespawnTime : public CDOTA_Buff
{
public:
float hp_per_kill; // 0x11d8
float mana_per_kill; // 0x11dc
float hp_regen; // 0x11e0
float mp_regen; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Death_Seeker_OutOfWorld : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Slardar_Puddle_Thinker : public CDOTA_Buff
{
public:
int32_t puddle_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slardar_Puddle : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slardar_Sprint_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Slardar_Sprint_River : public CDOTA_Buff
{
public:
int32_t river_speed; // 0x11d8
int32_t puddle_regen; // 0x11dc
int32_t puddle_armor; // 0x11e0
int32_t puddle_status_resistance; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slardar_Sprint : public CDOTA_Buff
{
public:
int32_t bonus_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slardar_Slithereen_Crush : public CDOTA_Buff
{
public:
int32_t crush_extra_slow; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Slardar_Bash_Active : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
float duration; // 0x11dc
int32_t attack_count; // 0x11e0
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Slardar_Amplify_Damage : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
float scepter_delay; // 0x11dc
int32_t undispellable; // 0x11e0
int32_t puddle_radius; // 0x11e4
float puddle_duration; // 0x11e8
Vector m_vecLastPuddle; // 0x11ec
CHandle< C_BaseEntity > m_hPuddle; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ursa_Overpower : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ursa_Fury_Swipes : public CDOTA_Buff
{
public:
int32_t damage_per_stack; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ursa_Fury_Swipes_Damage_Increase : public CDOTA_Buff
{
public:
int32_t damage_per_stack; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Ursa_Enrage : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t status_resistance; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ursa_Earthshock_Move : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ursa_Earthshock : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_Impale : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lion_Voodoo : public CDOTA_Modifier_Hexed
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_ManaDrain_Immunity : public CDOTA_Modifier_DebuffImmune
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Lion_ManaDrain : public CDOTA_Buff
{
public:
int32_t mana_per_second; // 0x11d8
int32_t break_distance; // 0x11dc
float tick_interval; // 0x11e0
int32_t movespeed; // 0x11e4
int32_t damage_pct; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_ManaDrain_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_ManaDrain_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_FingerOfDeath_Kill_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lion_FingerOfDeath : public CDOTA_Buff
{
public:
bool m_bIgnoreBonus; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lion_FingerOfDeath_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Lion_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
bool m_bFrozen; // 0x11d8
bool m_bFlail; // 0x11d9
};
// 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: 0x11d8
class CDOTA_Modifier_Courier_Morph_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Courier_Flying : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Courier_TakeStashItems : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hStashOwner; // 0x11d8
Vector m_vLocation; // 0x11dc
bool m_bTransferAfterTake; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
int32_t stash_pickup_distance; // 0x11ec
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Courier_ReturnStashItems : public CDOTA_Buff
{
public:
Vector m_vLocation; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Courier_TransferItems : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Courier_Burst : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Courier_Shield : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Courier_Passive_Bonus : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_FountainPassive : public CDOTA_Buff
{
public:
int32_t bonus_chance; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Fountain_Fury_Swipes_Damage_Increase : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Roshan_SpellBlock : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Roshan_Moving : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
bool m_bFlipped; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Roshan_Bash : public CDOTA_Buff
{
public:
int32_t bash_chance; // 0x11d8
int32_t bonus_damage; // 0x11dc
float stun_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Roshan_Slam : public CDOTA_Buff
{
public:
int32_t slow_amount; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Roshan_InherentBuffs : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Roshan_DevotionAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Roshan_Devotion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Miniboss_Reflect : public CDOTA_Buff
{
public:
int32_t passive_reflection_pct; // 0x11d8
int32_t passive_reflection_bonus_per_death; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Miniboss_UnyieldingShield : public CDOTA_Buff
{
public:
int32_t damage_absorb; // 0x11d8
float regen_per_second; // 0x11dc
float regen_bonus_per_death; // 0x11e0
int32_t m_nDamageAbsorbed; // 0x11e4
GameTime_t m_timeLastTick; // 0x11e8
ParticleIndex_t nFXIndex; // 0x11ec
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Animation_RightClawSwipe : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_radius; // 0x11dc
float m_flScalar; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11e8
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Animation_LeftClawSwipe : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_radius; // 0x11dc
float m_flScalar; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11e8
};
// Alignment: 3
// Size: 0x11e0
class CDOTA_Modifier_Attached_Unit : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11d8
bool m_bPhysicalImmune; // 0x11dc
bool m_bMagicImmune; // 0x11dd
};
// Alignment: 18
// Size: 0x1238
class CDOTA_Modifier_Nian_Dive : public CDOTA_Buff
{
public:
int32_t pounce_distance; // 0x11d8
float pounce_speed; // 0x11dc
float pounce_acceleration; // 0x11e0
int32_t pounce_radius; // 0x11e4
int32_t pounce_damage; // 0x11e8
int32_t stun_radius; // 0x11ec
float stun_duration; // 0x11f0
float leash_duration; // 0x11f4
float initial_delay; // 0x11f8
float landing_delay; // 0x11fc
float vertical_adjust; // 0x1200
float vertical_adjust_max_distance; // 0x1204
float vertical_adjust_min_distance; // 0x1208
int32_t claw_damage; // 0x120c
int32_t claw_damage_radius; // 0x1210
float claw_damage_delay; // 0x1214
float claw_damage_duration; // 0x1218
private:
[[maybe_unused]] uint8_t __pad121c[0x4]; // 0x121c
public:
CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x1220
};
// Alignment: 11
// Size: 0x1218
class CDOTA_Modifier_Nian_Frenzy : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_radius; // 0x11dc
int32_t stun_radius; // 0x11e0
float dive_distance; // 0x11e4
float initial_rise_time; // 0x11e8
float right_swipe_time; // 0x11ec
float left_swipe_time; // 0x11f0
float knockdown_duration; // 0x11f4
float stun_duration; // 0x11f8
int32_t m_nTickCounter; // 0x11fc
CUtlVector< CHandle< C_BaseEntity > > m_hEnemies; // 0x1200
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Roar : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Intrinsic : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Attachment : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Attachment_Regrow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Animation_TailSpin : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_radius; // 0x11dc
float m_flPlaybackRate; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_vHitEntities; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nian_Apocalypse : public CDOTA_Buff
{
public:
int32_t area_of_effect; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Nian_Knockdown : public CDOTA_Buff
{
public:
float m_flStandUpDuration; // 0x11d8
float m_flKnockDownDuration; // 0x11dc
bool m_bDebuff; // 0x11e0
bool m_bStandingUp; // 0x11e1
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Big_Flinch : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Firecracker_Debuff : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Nian_GreaterBash : public CDOTA_Buff
{
public:
int32_t chance_pct; // 0x11d8
float damage; // 0x11dc
float movespeed_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nian_GreaterBash_Speed : public CDOTA_Buff
{
public:
int32_t bonus_movespeed_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_NianCharge : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_NianChargePinned : public CDOTA_Buff
{
public:
float pinned_damage_amount; // 0x11d8
float pinned_damage_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Nian_Tail_Swipe_Wall : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Tail_Swipe_AirTime : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Nian_Hurricane_Whirlpool : public CDOTA_Buff
{
public:
float pull_switch_interval; // 0x11d8
int32_t pull_speed; // 0x11dc
bool m_bForward; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
ParticleIndex_t m_nfxIndex; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nian_Torrent_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Nian_WhirlpoolThinker : public CDOTA_Buff
{
public:
int32_t pull_radius; // 0x11d8
ParticleIndex_t n_FXIndex; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Nian_Whirlpool_Pull : public CDOTA_Buff
{
public:
int32_t pull_radius; // 0x11d8
int32_t pull_speed; // 0x11dc
int32_t radius; // 0x11e0
int32_t whirlpool_damage; // 0x11e4
float tick_rate; // 0x11e8
GameTime_t m_flDamageTick; // 0x11ec
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Nian_EruptionPendingThinker : public CDOTA_Buff
{
public:
int32_t tick_count; // 0x11d8
int32_t beam_radius; // 0x11dc
int32_t m_nTickCount; // 0x11e0
int32_t n_FXIndex; // 0x11e4
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Nian_EruptionThinker : public CDOTA_Buff
{
public:
int32_t explosion_radius; // 0x11d8
float damage_interval; // 0x11dc
int32_t damage; // 0x11e0
int32_t n_FXIndex; // 0x11e4
};
// Alignment: 4
// Size: 0x1210
class CDOTA_Modifier_Nian_Waterball : public CDOTA_Buff
{
public:
int32_t trail_damage_per_second; // 0x11d8
int32_t trail_damage_radius; // 0x11dc
CUtlVector< int32 > m_vFXIndices; // 0x11e0
CUtlVector< Vector > m_vLocations; // 0x11f8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Nian_Damage_Reflection : public CDOTA_Buff
{
public:
GameTime_t m_flReflectionStartTime; // 0x11d8
float m_flReflectionAmount; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nian_Flag_Trap_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nian_Flag_Trapped : public CDOTA_Buff
{
public:
int32_t bonus_spell_damage_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Firework_Mine : public CDOTA_Buff
{
public:
int32_t damage_radius; // 0x11d8
int32_t trigger_radius; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_JumpBootsIntrinsic : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_JumpBoots : public CDOTA_Buff
{
public:
int32_t push_length; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Nian_Leap : public CDOTA_Buff
{
public:
int32_t pounce_distance; // 0x11d8
float pounce_speed; // 0x11dc
float pounce_acceleration; // 0x11e0
float initial_delay; // 0x11e4
float landing_delay; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Vermillion_Robe_Flames : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float damage_per_health_missing; // 0x11dc
float delay; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Vermillion_Robe : public CDOTA_Buff_Item
{
public:
int32_t mana_regen_pct; // 0x11d8
int32_t move_speed_bonus; // 0x11dc
int32_t bonus_stats; // 0x11e0
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Warlock_FatalBonds : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_FatalBondsEntities; // 0x11d8
int32_t damage_share_percentage; // 0x11f0
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Warlock_Shadow_Word : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
int32_t damage; // 0x11dc
int32_t shard_movement_speed_pct; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Upheaval : public CDOTA_Buff
{
public:
int32_t m_iSlow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Upheaval_Ally : public CDOTA_Buff
{
public:
int32_t m_iAttackSpeed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Death_Trigger : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Thinker : public CDOTA_Buff
{
public:
float stun_duration; // 0x11d8
bool bHasScepter; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
int32_t aoe; // 0x11e0
int32_t m_iCount; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Rain_Of_Chaos_Golem : public CDOTA_Buff
{
public:
int32_t bonus_magic_resistance; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Golem_Flaming_Fists : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Golem_Permanent_Immolation_Debuff : public CDOTA_Buff
{
public:
int32_t aura_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Imp_Explode : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hBestTarget; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Warlock_Imp_ExplodeThinker : public CDOTA_Buff
{
public:
float explosion_radius; // 0x11d8
float explosion_damage; // 0x11dc
};
// Alignment: 17
// Size: 0x1280
class CDOTA_Modifier_Beastmaster_WildAxes : public CDOTA_Buff
{
public:
Vector m_vLeftControl; // 0x11d8
Vector m_vRightControl; // 0x11e4
Vector m_vTargetLoc; // 0x11f0
Vector m_vSourceLoc; // 0x11fc
float m_flDuration; // 0x1208
GameTime_t m_flDieTime; // 0x120c
bool m_bReturning; // 0x1210
bool m_bCatchingAxes; // 0x1211
private:
[[maybe_unused]] uint8_t __pad1212[0x6]; // 0x1212
public:
CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1218
ParticleIndex_t m_nAxeFXIndex[2]; // 0x1230
CUtlVector< CHandle< C_BaseEntity > > m_hHitList[2]; // 0x1238
int32_t radius; // 0x1268
int32_t spread; // 0x126c
int32_t axe_damage; // 0x1270
float duration; // 0x1274
float min_throw_duration; // 0x1278
float max_throw_duration; // 0x127c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Beastmaster_Axe_Stack_Counter : public CDOTA_Buff
{
public:
float damage_amp; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Beastmaster_Axe_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Beastmaster_CallOfTheWild_Hawk : public CDOTA_Buff
{
public:
Vector m_vDestination; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11e4
int32_t m_iTickCount; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_CallOfTheWild_Boar_BonusDamage : public CDOTA_Buff
{
public:
float boar_bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_CallOfTheWild_Boar_Poison : public CDOTA_Modifier_CallOfTheWild_Boar_PoisonBase
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_CallOfTheWild_Boar_PoisonEffect : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t movement_speed; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Beastmaster_InnerBeast_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Beastmaster_InnerBeast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Beastmaster_PrimalRoar_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed_pct; // 0x11d8
int32_t slow_attack_speed_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Beastmaster_PrimalRoar_Speed : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Beastmaster_PrimalRoar_Push : public CDOTA_Buff
{
public:
Vector m_vVelocity; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Beastmaster_Mark_Of_The_Beast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_CallOfTheWild_Hawk_Reveal : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Beastmaster_Hawk_Dive : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t toss_damage; // 0x11dc
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_Beastmaster_DrumsOfSlom : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
int32_t radius; // 0x11dc
int32_t max_stacks; // 0x11e0
float base_damage; // 0x11e4
int32_t heal_pct; // 0x11e8
int32_t creep_heal_pct; // 0x11ec
int32_t iCurrentAttacksAtMinInterval; // 0x11f0
float stack_decay_time; // 0x11f4
float max_drum_hit_interval; // 0x11f8
float min_drum_hit_interval; // 0x11fc
GameTime_t m_flLastStackChangeTime; // 0x1200
GameTime_t m_flLastDrumHitTime; // 0x1204
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Beastmaster_DrumsOfSlom_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_5 : public CDOTA_Buff
{
public:
int32_t bonus_ms; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Unique_Beastmaster_6 : public CDOTA_Buff
{
public:
int32_t bonus_hp; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_QueenOfPain_ScreamOfPain_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_QueenOfPain_ShadowStrike : public CDOTA_Buff
{
public:
int32_t duration_damage; // 0x11d8
int32_t duration_heal; // 0x11dc
int32_t movement_slow; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CountdownTimer m_SlowInterval; // 0x11e8
float m_flSlowStep; // 0x1200
float m_flSlowStepStep; // 0x1204
float attack_buff_duration; // 0x1208
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_QueenOfPain_Arcana : public CDOTA_Buff
{
public:
bool m_bIsMeleeAttack; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_QueenOfPain_SonicWave_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_QueenOfPain_SonicWave_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_QueenOfPain_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Venomancer_VenomousGale : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t tick_damage; // 0x11dc
float tick_interval; // 0x11e0
float duration; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Venomancer_PoisonSting_Applier : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Venomancer_PoisonStingBase : public CDOTA_Buff
{
public:
int32_t m_iDamage; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t m_nTicksRemaining; // 0x11e0
float m_flAttackDamage; // 0x11e4
int32_t hp_regen_reduction; // 0x11e8
};
// Alignment: 0
// Size: 0x11f0
class CDOTA_Modifier_Venomancer_PoisonSting : public CDOTA_Modifier_Venomancer_PoisonStingBase
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Venomancer_PoisonStingWard : public CDOTA_Buff
{
public:
int32_t m_iDamage; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t hp_regen_reduction; // 0x11e0
int32_t m_nTicksRemaining; // 0x11e4
float m_flAttackDamage; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Plague_Wards_Bonus : public CDOTA_Buff
{
public:
int32_t ward_hp; // 0x11d8
int32_t ward_damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Plague_Wards_Bonus_Range : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PoisonNova_Intrinsic : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_PoisonNova_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
int32_t speed; // 0x11f8
int32_t radius; // 0x11fc
int32_t start_radius; // 0x1200
float duration; // 0x1204
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Venomancer_PoisonNova : public CDOTA_Buff
{
public:
float damage; // 0x11d8
float magic_resist; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Venomancer_NoxiousPlaguePrimary : public CDOTA_Buff
{
public:
float health_damage; // 0x11d8
float debuff_radius; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Venomancer_NoxiousPlague_Slow : public CDOTA_Buff
{
public:
float attack_slow; // 0x11d8
float movement_slow_max; // 0x11dc
float debuff_radius; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Venomancer_NoxiousPlagueSecondary : public CDOTA_Buff
{
public:
float health_damage; // 0x11d8
float attack_slow; // 0x11dc
float movement_slow_max; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Venomancer_Latent_Poison : public CDOTA_Buff
{
public:
int32_t duration_damage; // 0x11d8
int32_t movement_slow; // 0x11dc
int32_t explosion_damage; // 0x11e0
float explosion_stun_duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_Backtrack : public CDOTA_Buff
{
public:
int32_t dodge_chance_pct; // 0x11d8
};
// Alignment: 10
// Size: 0x1238
class CDOTA_Modifier_FacelessVoid_TimeLock : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float duration_creep; // 0x11dc
float delay; // 0x11e0
int32_t chance_pct; // 0x11e4
int32_t bonus_damage; // 0x11e8
GameTime_t last_attack_time; // 0x11ec
CUtlVector< int16 > m_ProcAttackRecords; // 0x11f0
GameTime_t apply_activity_modifier_until; // 0x1208
GameTime_t disable_activity_modifier_until; // 0x120c
CUtlOrderedMap< CHandle< C_DOTA_BaseNPC >, int32 > m_mapTargets; // 0x1210
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_TimeLock_Freeze : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_Timelock_TimeWalk_Proc_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_Timelock_Basic_Proc_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_FacelessVoid_TimeDilation_Slow : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t m_nAffectedAbilities; // 0x11dc
GameTime_t m_flLastDamageTime; // 0x11e0
int32_t slow; // 0x11e4
int32_t cooldown_percentage; // 0x11e8
int32_t damage_per_stack; // 0x11ec
int32_t base_damage; // 0x11f0
};
// Alignment: 0
// Size: 0x11f0
class CDOTA_Modifier_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_FacelessVoid_TimeWalk_ShardBuff : public CDOTA_Buff
{
public:
Vector m_vStartLocation; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_FacelessVoid_TimeLock_ForceProc : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float duration_creep; // 0x11dc
int32_t bonus_damage; // 0x11e0
float delay; // 0x11e4
CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_TimeWalk_Slow : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_TimeWalk : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_Chronosphere : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_ArcanaDamageRouter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_Chronosphere_Freeze : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_Chronosphere_SelfBuff : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_Chronosphere_Speed : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_FacelessVoid_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FacelessVoid_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
ParticleIndex_t m_nCasterFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DeathProphet_Silence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DeathProphet_Silence_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DeathProphet_Witchcraft : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DeathProphet_SpiritSiphon_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 14
// Size: 0x1210
class CDOTA_Modifier_DeathProphet_SpiritSiphon : public CDOTA_Buff
{
public:
float flSmoothness; // 0x11d8
float damage; // 0x11dc
float damage_pct; // 0x11e0
int32_t drain_range; // 0x11e4
float haunt_duration; // 0x11e8
int32_t siphon_buffer; // 0x11ec
int32_t movement_steal; // 0x11f0
CHandle< C_BaseEntity > m_hTarget; // 0x11f4
ParticleIndex_t m_iLinkIndex; // 0x11f8
int32_t m_nSelfBuffSerialNumber; // 0x11fc
int32_t m_nTargetDebuffSerialNumber; // 0x1200
bool m_bAppliedFear; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205
public:
float shard_fear_duration; // 0x1208
float shard_consecutive_siphon_duration; // 0x120c
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_DeathProphet_SpiritSiphon_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DeathProphet_SpiritSiphon_Slow : public CDOTA_Buff
{
public:
int32_t movement_steal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DeathProphet_SpiritSiphon_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DeathProphet_SpiritSiphon_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 18
// Size: 0x1238
class CDOTA_Modifier_DeathProphet_Exorcism : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t spirit_speed; // 0x11dc
int32_t max_distance; // 0x11e0
int32_t give_up_distance; // 0x11e4
int32_t min_damage; // 0x11e8
int32_t max_damage; // 0x11ec
int32_t heal_percent; // 0x11f0
int32_t spirit_duration; // 0x11f4
float ghost_spawn_rate; // 0x11f8
int32_t movement_bonus; // 0x11fc
int32_t m_iSpirits; // 0x1200
GameTime_t m_fStartTime; // 0x1204
GameTime_t m_fLastThinkTime; // 0x1208
GameTime_t m_fSpawnTime; // 0x120c
bool m_bFirstSpawn; // 0x1210
bool m_bCommentedOnExpired; // 0x1211
bool m_bForceExpired; // 0x1212
private:
[[maybe_unused]] uint8_t __pad1213[0x5]; // 0x1213
public:
CUtlVector< sSpiritInfo* > m_vecSpirits; // 0x1218
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DeathProphet_Slow : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
};
// Alignment: 12
// Size: 0x1218
class CDOTA_Modifier_DeathProphet_Scepter : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t spirit_speed; // 0x11dc
int32_t max_distance; // 0x11e0
int32_t give_up_distance; // 0x11e4
int32_t min_damage; // 0x11e8
int32_t max_damage; // 0x11ec
int32_t heal_percent; // 0x11f0
int32_t spirit_duration; // 0x11f4
GameTime_t m_fStartTime; // 0x11f8
GameTime_t m_fLastThinkTime; // 0x11fc
bool m_bExpired; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x7]; // 0x1201
public:
sSpiritInfo* m_SpiritInfo; // 0x1208
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Death_Prophet_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Death_Prophet_Attack_Scepter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pugna_NetherBlast_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Pugna_Decrepify : public CDOTA_Buff
{
public:
int32_t bonus_spell_damage_pct; // 0x11d8
int32_t bonus_heal_amp_pct_allies; // 0x11dc
int32_t bonus_movement_speed; // 0x11e0
int32_t bonus_movement_speed_allies; // 0x11e4
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Pugna_NetherWard : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float mana_multiplier; // 0x11dc
float mana_drained_per_attack; // 0x11e0
int32_t attacks_to_destroy; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Pugna_NetherWard_Aura : public CDOTA_Buff
{
public:
float mana_regen; // 0x11d8
float spell_damage_reduction; // 0x11dc
};
// Alignment: 14
// Size: 0x1208
class CDOTA_Modifier_Pugna_LifeDrain : public CDOTA_Buff
{
public:
int32_t health_drain; // 0x11d8
float tick_rate; // 0x11dc
bool m_bDoRangeCheck; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
ParticleIndex_t m_nFXIndex; // 0x11e4
GameTime_t m_flElapsedTime; // 0x11e8
bool m_bPrimary; // 0x11ec
bool m_bShard; // 0x11ed
bool m_bFromWard; // 0x11ee
private:
[[maybe_unused]] uint8_t __pad11ef[0x1]; // 0x11ef
public:
CHandle< C_BaseEntity > m_hWard; // 0x11f0
float spell_amp_drain_duration; // 0x11f4
int32_t max_spell_amp_drain_pct; // 0x11f8
int32_t spell_amp_drain_rate; // 0x11fc
int32_t spell_amp_drain_rate_ward; // 0x1200
int32_t spell_amp_drain_max; // 0x1204
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pugna_LifeDrain_SpellAmp : public CDOTA_Buff
{
public:
bool m_bIsFriendly; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Phantom_Assassin_GroundDagger : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PhantomAssassin_StiflingDagger_Caster : public CDOTA_Buff
{
public:
int32_t base_damage; // 0x11d8
int32_t attack_factor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomAssassin_StiflingDagger : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 9
// Size: 0x1228
class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
CountdownTimer m_ViewerTimer; // 0x11f8
int32_t projectile_speed; // 0x1210
int32_t radius; // 0x1214
float duration; // 0x1218
float pct_health_damage_initial; // 0x121c
float max_damage_initial; // 0x1220
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PhantomAssassin_Fan_Of_Knives : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PhantomAssassin_PhantomStrike : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t lifesteal_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PhantomAssassin_Blur : public CDOTA_Buff
{
public:
int32_t bonus_evasion; // 0x11d8
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_PhantomAssassin_BlurActive : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
float fade_duration; // 0x11ec
float scepter_fade_duration; // 0x11f0
bool m_bDestroyNext; // 0x11f4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_PhantomAssassin_CoupdeGrace : public CDOTA_Buff
{
public:
int32_t crit_bonus; // 0x11d8
int32_t crit_chance; // 0x11dc
bool crit_active; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_PhantomAssassin_Gravestone_Thinker : public CDOTA_Buff
{
public:
int32_t m_nEpitaph; // 0x11d8
PlayerID_t m_nVictimPlayerID; // 0x11dc
int32_t m_nVictimHeroID; // 0x11e0
int32_t m_nCritDmg; // 0x11e4
int32_t m_nContractComplete; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PhantomAssassin_Gravestone : public CDOTA_Buff
{
public:
int32_t m_nFXIndex; // 0x11d8
bool m_bContractGravestoneComplete; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PhantomAssassin_ScreenSplatter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_TemplarAssassin_RefractionDamage : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
int32_t bonus_damage; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TemplarAssassin_RefractionAbsorb : public CDOTA_Buff
{
public:
int32_t damage_threshold; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TemplarAssassin_Meld_Animation : public CDOTA_Buff
{
public:
bool launched_attack; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_TemplarAssassin_Meld : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
bool launched_attack; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11e0
int32_t m_nAttackRecord; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TemplarAssassin_MeldArmor : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_TemplarAssassin_PsiBlades : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
float attack_spill_range; // 0x11dc
int32_t attack_spill_width; // 0x11e0
int32_t attack_spill_pct; // 0x11e4
int32_t attack_spill_penalty; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TemplarAssassin_PsiBlades_Slow : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TemplarAssassin_PsionicTrap_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_TemplarAssassin_Trap : public CDOTA_Modifier_Invisible
{
public:
int32_t shard_bonus_vision; // 0x11e8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_TemplarAssassin_Trap_Slow : public CDOTA_Buff
{
public:
int32_t movement_speed_min; // 0x11d8
int32_t movement_speed_max; // 0x11dc
int32_t trap_bonus_damage; // 0x11e0
float trap_max_charge_duration; // 0x11e4
float shard_min_silence_duration; // 0x11e8
float shard_max_silence_duration; // 0x11ec
float stage; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_TemplarAssassin_Refraction_Holdout : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t damage_absorb; // 0x11dc
float m_flDamageAbsorbed; // 0x11e0
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Viper_PoisonAttack : public CDOTA_Buff
{
public:
float duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Viper_PoisonAttack_Slow : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t shard_armor_reduction; // 0x11dc
int32_t shard_building_dmg_pct; // 0x11e0
int32_t movement_speed; // 0x11e4
int32_t magic_resistance; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Viper_Nethertoxin_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Viper_Nethertoxin : public CDOTA_Buff
{
public:
int32_t min_damage; // 0x11d8
int32_t max_damage; // 0x11dc
float max_duration; // 0x11e0
float m_flDamageInterval; // 0x11e4
float m_flTimeIncrement; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Viper_NethertoxinMute : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Viper_CorrosiveSkin : public CDOTA_Buff
{
public:
int32_t bonus_magic_resistance; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Viper_CorrosiveSkin_Slow : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t damage; // 0x11dc
int32_t effect_multiplier_distance; // 0x11e0
int32_t effect_multiplier; // 0x11e4
bool m_bEffectMultiplied; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Viper_ViperStrike_Slow : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 8
// Size: 0x1208
class CDOTA_Modifier_Viper_Nose_Dive : public CDOTA_Buff
{
public:
Vector m_vTargetPos; // 0x11d8
Vector m_vStart; // 0x11e4
float m_flZDelta; // 0x11f0
int32_t radius; // 0x11f4
int32_t corrosive_radius; // 0x11f8
float effect_duration; // 0x11fc
int32_t dive_speed; // 0x1200
float start_height; // 0x1204
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Viper_Nose_Dive_Effect : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Luna_LucentBeam_Damage_Buff : public CDOTA_Buff
{
public:
int32_t damage_buff_per_beam; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Luna_MoonGlaive : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
int32_t bounces; // 0x11dc
int32_t damage_reduction_percent; // 0x11e0
ParticleIndex_t m_nMoonGlaiveFXIndex; // 0x11e4
};
// Alignment: 6
// Size: 0x1200
class CDOTA_Modifier_Luna_LunarBlessing_Smoke : public CDOTA_Modifier_Invisible
{
public:
int32_t bonus_speed_day; // 0x11e8
int32_t bonus_speed_night; // 0x11ec
int32_t break_distance_day; // 0x11f0
int32_t break_distance_night; // 0x11f4
int32_t visibility_radius; // 0x11f8
int32_t bonus_movement_speed; // 0x11fc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Luna_LunarBlessing : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t bonus_night_vision; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Luna_LunarBlessingAura : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_damage_self; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Luna_LunarBlessing_Active : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Luna_Lunar_Grace : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
float night_multiplier; // 0x11dc
};
// Alignment: 13
// Size: 0x1230
class CDOTA_Modifier_Luna_Eclipse : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t radius; // 0x11dc
int32_t beams; // 0x11e0
int32_t hit_count; // 0x11e4
int32_t m_iBeamDamage; // 0x11e8
float beam_interval; // 0x11ec
float stun_duration; // 0x11f0
Vector vPosition; // 0x11f4
bool bAreaTarget; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_iTickCount; // 0x1204
ParticleIndex_t m_nMoonlightFXIndex; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1210
float m_flBeamStun; // 0x1228
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_BreatheFire_Reduction : public CDOTA_Buff
{
public:
int32_t reduction; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_DragonBlood_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_DragonBlood : public CDOTA_Buff
{
public:
int32_t bonus_health_regen; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_DragonKnight_DragonForm : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_attack_damage; // 0x11dc
int32_t bonus_attack_range; // 0x11e0
int32_t attack_projectile_speed_bonus; // 0x11e4
int32_t magic_resistance; // 0x11e8
int32_t model_scale; // 0x11ec
int32_t iLevel; // 0x11f0
int32_t m_iOriginalAttackCapabilities; // 0x11f4
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_CorrosiveBreath : public CDOTA_Buff
{
public:
float corrosive_breath_duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_CorrosiveBreathDoT : public CDOTA_Buff
{
public:
int32_t corrosive_breath_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_DragonKnight_SplashAttack : public CDOTA_Buff
{
public:
int32_t splash_radius; // 0x11d8
int32_t splash_damage_percent; // 0x11dc
float corrosive_breath_duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_FrostBreath : public CDOTA_Buff
{
public:
float frost_duration; // 0x11d8
float frost_aoe; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_FrostBreath_Slow : public CDOTA_Buff
{
public:
int32_t frost_bonus_movement_speed; // 0x11d8
int32_t frost_bonus_attack_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DragonKnight_BlackDragon_Tooltip : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_Fireball_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float linger_duration; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DragonKnight_Fireball_Burn : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Dazzle_Good_Juju : public CDOTA_Buff
{
public:
float cooldown_reduction; // 0x11d8
float item_cooldown_reduction; // 0x11dc
float duration; // 0x11e0
int32_t radius; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dazzle_Bad_Juju_Manacost : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dazzle_Bad_Juju_Armor_Counter : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float armor_reduction; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dazzle_Bad_Juju_Armor : public CDOTA_Buff
{
public:
float armor_reduction; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Dazzle_Rain_Of_Vermin : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float interval; // 0x11dc
float hex_chance; // 0x11e0
float hex_duration; // 0x11e4
int32_t damage; // 0x11e8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Dazzle_Poison_Touch : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
float bonus_slow; // 0x11dc
int32_t bonus_damage; // 0x11e0
float flAccummulatedBonusSlow; // 0x11e4
int32_t iAccummulatedBonusDamage; // 0x11e8
int32_t attack_range_bonus; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dazzle_Poison_Touch_Self : public CDOTA_Buff
{
public:
int32_t attack_range_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dazzle_Shallow_Grave : public CDOTA_Buff
{
public:
int32_t heal_amplify; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dazzle_Weave_Armor : public CDOTA_Buff
{
public:
float armor_per_second; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Split_Earth_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Leshrac_Diabolic_Edict : public CDOTA_Buff
{
public:
int32_t num_explosions; // 0x11d8
int32_t radius; // 0x11dc
float m_fExplosions; // 0x11e0
float tower_bonus; // 0x11e4
bool m_bTalentActive; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Lightning_Storm_Scepter_Thinker : public CDOTA_Buff
{
public:
float interval_scepter; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Leshrac_Lightning_Storm : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t radius; // 0x11dc
int32_t jump_count; // 0x11e0
float slow_duration; // 0x11e4
float jump_delay; // 0x11e8
CHandle< C_BaseEntity > hInitialTarget; // 0x11ec
float m_flDamage; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Lightning_Storm_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Decrepify_Aura : public CDOTA_Buff
{
public:
int32_t magic_amp; // 0x11d8
int32_t slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Decrepify : public CDOTA_Buff
{
public:
int32_t magic_amp; // 0x11d8
int32_t slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Leshrac_Greater_Lightning_Storm : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float interval; // 0x11dc
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Leshrac_Pulse_Nova : public CDOTA_Buff
{
public:
bool m_bFirst; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0xb]; // 0x11d9
public:
int32_t damage_resistance; // 0x11e4
int32_t bonus_movespeed; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Rattletrap_Overclocking : public CDOTA_Buff
{
public:
ParticleIndex_t m_nOverclockFX; // 0x11d8
int32_t bonus_movement_speed; // 0x11dc
int32_t bonus_attack_speed; // 0x11e0
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_BatteryAssault : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_Cog_Barrier : public CDOTA_Buff
{
public:
int32_t magic_barrier; // 0x11d8
int32_t m_nAbsorbRemaining; // 0x11dc
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Rattletrap_Cog_Thinker : public CDOTA_Buff
{
public:
int32_t cogs_radius; // 0x11d8
int32_t extra_pull_buffer; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rattletrap_Cog_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_Cog_Thinker_Leash : public CDOTA_Buff
{
public:
int32_t cogs_radius; // 0x11d8
int32_t extra_pull_buffer; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_Cog_Leash : public CDOTA_Buff
{
public:
int32_t leash; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_Cog_Thinker_Talent : public CDOTA_Buff
{
public:
int32_t cogs_radius; // 0x11d8
int32_t extra_pull_buffer; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rattletrap_Cog_Immune : public CDOTA_Modifier_DebuffImmune
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_Cog_Thinker_Self_Bonuses : public CDOTA_Buff
{
public:
int32_t cogs_radius; // 0x11d8
int32_t extra_pull_buffer; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rattletrap_Cog_Self_Bonuses : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1208
class CDOTA_Modifier_Rattletrap_Cog : public CDOTA_Buff
{
public:
bool m_bEnabled; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t trigger_distance; // 0x11dc
int32_t push_length; // 0x11e0
float push_duration; // 0x11e4
int32_t cogs_radius; // 0x11e8
int32_t attacks_to_destroy; // 0x11ec
int32_t m_iCogIndex; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x11f4
Vector vCenter; // 0x11f8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Rattletrap_CogPush : public CDOTA_Buff
{
public:
GameTime_t m_flStartTime; // 0x11d8
int32_t push_length; // 0x11dc
float push_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_RocketFlare_Slow : public CDOTA_Buff
{
public:
float slow_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Clockwerk_RocketFlare_Thinker : public CDOTA_Buff
{
public:
float radius; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Rattletrap_RocketFlare : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Rattletrap_RocketFlare_Overclock : public CDOTA_Buff
{
public:
float rocket_flare_interval; // 0x11d8
int32_t rocket_flare_offset_pct; // 0x11dc
int32_t rocket_flare_rockets; // 0x11e0
int32_t m_nRocketsFired; // 0x11e4
int32_t radius; // 0x11e8
Vector m_vOriginalTarget; // 0x11ec
};
// Alignment: 10
// Size: 0x1250
class CDOTA_Modifier_Rattletrap_JetPack : public CDOTA_Buff
{
public:
int32_t bonus_speed; // 0x11d8
float turn_rate; // 0x11dc
GameTime_t m_flStartTime; // 0x11e0
float tick_interval; // 0x11e4
float m_flFacingTarget; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
CUtlVector< float32 > m_flTurnHistory; // 0x11f0
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1208
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1220
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1238
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Rattletrap_Hookshot : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t speed; // 0x11e0
float stun_radius; // 0x11e4
float damage; // 0x11e8
float duration; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_Sprout_Blind_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Furion_Sprout_Blind : public CDOTA_Buff
{
public:
int32_t blind_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_Sprout_Tether_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_Sprout_Tether : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_Sprout_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_Sprout_Entangle : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Furion_Arboreal_Might_Attack_Damage : public CDOTA_Buff
{
public:
float damage_per_stack; // 0x11d8
int32_t iMaxStacks; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Furion_Arboreal_Might_Armor : public CDOTA_Buff
{
public:
float armor_per_stack; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Furion_WrathOfNature_Thinker : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t max_targets; // 0x11dc
int32_t damage_percent_add; // 0x11e0
float jump_delay; // 0x11e4
int32_t m_iFixedDamage; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_WrathOfNature_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_WrathOfNature_BuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Furion_WrathOfNature_Spawn : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Furion_CurseOfTheForest : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage_per_tree; // 0x11dc
int32_t slow_per_tree; // 0x11e0
int32_t m_nSlow; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Treant_Bonus : public CDOTA_Buff
{
public:
int32_t treant_hp_bonus; // 0x11d8
int32_t treant_damage_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Treant_Large_Bonus : public CDOTA_Buff
{
public:
int32_t treant_large_hp_bonus; // 0x11d8
int32_t treant_large_damage_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Feast : public CDOTA_Buff
{
public:
float hp_leech_percent; // 0x11d8
float hp_damage_percent; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Ghoul_Frenzy_Slow : public CDOTA_Buff
{
public:
int32_t miss_pct; // 0x11d8
int32_t movement_slow; // 0x11dc
};
// Alignment: 6
// Size: 0x1210
class CDOTA_Modifier_Life_Stealer_Open_Wounds : public CDOTA_Buff
{
public:
int32_t slow_steps[8]; // 0x11d8
int32_t heal_percent; // 0x11f8
int32_t m_nDamageTracker; // 0x11fc
int32_t damage_threshold; // 0x1200
int32_t spread_radius; // 0x1204
int32_t max_health_as_damage_pct; // 0x1208
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Life_Stealer_Infest : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_nFXIndex; // 0x11dc
float self_regen; // 0x11e0
int32_t m_nStartingHealth; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Infest_Effect : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_health; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Infest_Enemy_Hero : public CDOTA_Buff
{
public:
float attack_rate_enemy; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Infest_Creep : public CDOTA_Buff
{
public:
bool m_bChangedTeams; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Life_Stealer_Assimilate : public CDOTA_Buff
{
public:
float order_lock_duration; // 0x11d8
GameTime_t m_fOrderLockDone; // 0x11dc
int32_t m_nFXIndex; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Life_Stealer_Assimilate_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Life_Stealer_Rage : public CDOTA_Buff
{
public:
int32_t movement_speed_bonus; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 4
// Size: 0x1350
class CDOTA_Modifier_DarkSeer_Normal_Punch : public CDOTA_Buff
{
public:
Vector m_PositionIndex[30]; // 0x11d8
ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1340
float m_flDistanceTraveled; // 0x1344
bool m_bIsValidTarget; // 0x1348
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion_Thinker : public CDOTA_Buff
{
public:
Vector m_vecIllusionSpawnPosition; // 0x11d8
int32_t speed; // 0x11e4
CHandle< C_BaseEntity > m_hTarget; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_Vacuum : public CDOTA_Buff
{
public:
float pull_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_IonShell : public CDOTA_Buff
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_IonShell_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_DarkSeer_Surge : public CDOTA_Buff
{
public:
int32_t speed_boost; // 0x11d8
int32_t trail_radius; // 0x11dc
float trail_duration; // 0x11e0
Vector m_vLastTrailThinkerLocation; // 0x11e4
bool m_bTrailStarted; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_Surge_Trail_Thinker : public CDOTA_Buff
{
public:
int32_t trail_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_DarkSeer_Surge_Trail : public CDOTA_Buff
{
public:
int32_t trail_move_slow; // 0x11d8
int32_t trail_damage; // 0x11dc
float trail_damage_interval; // 0x11e0
};
// Alignment: 7
// Size: 0x1240
class CDOTA_Modifier_DarkSeer_WallOfReplica : public CDOTA_Buff
{
public:
Vector m_vWallDirection; // 0x11d8
Vector m_vWallRight; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11f0[0x18]; // 0x11f0
public:
CUtlMap< int32, GameTime_t > m_PreventReplicateTime; // 0x1208
int32_t width; // 0x1228
float slow_duration; // 0x122c
int32_t replica_damage_incoming; // 0x1230
int32_t replica_damage_outgoing; // 0x1234
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_WallOfReplica_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_WallOfReplica_Illusion : public CDOTA_Buff
{
public:
int32_t replica_scale; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_Normal_Punch_Illusion : public CDOTA_Buff
{
public:
int32_t replica_scale; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkSeer_IonShell_IllusionInvulnerability : public CDOTA_Modifier_Invulnerable
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 3
// Size: 0x1200
class CDOTA_Modifier_Clinkz_SearingArrows : public CDOTA_Buff
{
public:
int32_t damage_bonus; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
bool m_bBonusAttack; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Clinkz_DeathPact : public CDOTA_Buff
{
public:
int32_t health_gain; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Clinkz_DeathPact_Permanent_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Clinkz_Burning_Army_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
int32_t count; // 0x11dc
int32_t range; // 0x11e0
Vector m_vFacePosition; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Clinkz_Burning_Army : public CDOTA_Buff
{
public:
float attack_rate; // 0x11d8
int32_t damage_percent; // 0x11dc
int32_t skeleton_health; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
int32_t skeleton_building_damage_reduction; // 0x11e8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Clinkz_WindWalk : public CDOTA_Modifier_Invisible
{
public:
int32_t move_speed_bonus_pct; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Clinkz_Strafe : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus; // 0x11d8
int32_t attack_range_bonus; // 0x11dc
int32_t archer_attack_speed_pct; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Clinkz_BurningBarrage_DamageReduction : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 13
// Size: 0x1218
class CDOTA_Modifier_Clinkz_BurningBarrage : public CDOTA_Buff
{
public:
int32_t m_iArrowCount; // 0x11d8
Vector m_vOriginalTarget; // 0x11dc
int32_t arrow_width; // 0x11e8
float arrow_speed; // 0x11ec
float arrow_range_multiplier; // 0x11f0
int32_t wave_count; // 0x11f4
int32_t arrow_count_per_wave; // 0x11f8
int32_t arrow_angle; // 0x11fc
int32_t m_iLoopCount; // 0x1200
float m_flInterval; // 0x1204
float m_flCycleDelay; // 0x1208
float m_flTimeWaste; // 0x120c
GameTime_t m_flExpectedTime; // 0x1210
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Clinkz_Tar_Bomb_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float slow_duration; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Clinkz_Tar_Bomb_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
};
// Alignment: 3
// Size: 0x1200
class CDOTA_Modifier_Clinkz_Tar_Bomb_SearingArrows : public CDOTA_Buff
{
public:
int32_t damage_bonus; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
bool m_bBonusAttack; // 0x11f8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_HammerOfPurity : public CDOTA_Buff
{
public:
GameTime_t m_flNextAttackTime; // 0x11d8
float attack_cooldown; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_Hammer_Of_Purity_Bomb : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_Angelic_Flight : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t hp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_Pacify : public CDOTA_Buff
{
public:
int32_t spell_resistance_reduction; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Omniknight_Repel : public CDOTA_Buff
{
public:
int32_t status_resistance; // 0x11d8
float hp_regen; // 0x11dc
int32_t bonus_str; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_Degen_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_Degen_Aura_Effect : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Omniknight_Marty : public CDOTA_Buff
{
public:
int32_t base_strength; // 0x11d8
int32_t base_hpregen; // 0x11dc
int32_t strength_bonus; // 0x11e0
int32_t nDebuffAmount; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Omniknight_GuardianAngel : public CDOTA_Buff
{
public:
int32_t scepter_status_resist; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Enchantress_Little_Friends_Kill_Credit : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Enchantress_Little_Friends_Aura : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_nAlliesTaunted; // 0x11dc
bool m_bRelicTriggered; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t radius; // 0x11e4
int32_t damage_amplification; // 0x11e8
int32_t damage_reduction; // 0x11ec
GameTime_t m_flLastSeen; // 0x11f0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Enchantress_Little_Friends : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
int32_t bonus_move_speed; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Enchantress_Bunny_Hop : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Enchantress_Untouchable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Enchantress_Untouchable_Slow : public CDOTA_Buff
{
public:
int32_t slow_attack_speed; // 0x11d8
ParticleIndex_t m_nStatusFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Enchantress_Enchant : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Enchantress_Enchant_Controlled : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t enchant_health; // 0x11dc
int32_t enchant_armor; // 0x11e0
int32_t enchant_damage; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Enchantress_Enchant_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Enchantress_NaturesAttendants_Shard : public CDOTA_Buff
{
public:
float heal_interval; // 0x11d8
float heal; // 0x11dc
int32_t radius; // 0x11e0
int32_t shard_permanent_wisp_count; // 0x11e4
bool m_bActive; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
ParticleIndex_t m_nWispFXIndex; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Enchantress_NaturesAttendants : public CDOTA_Buff
{
public:
float heal_interval; // 0x11d8
float heal; // 0x11dc
int32_t radius; // 0x11e0
int32_t wisp_count; // 0x11e4
int32_t movespeed; // 0x11e8
ParticleIndex_t m_nWispFXIndex; // 0x11ec
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Enchantress_Impetus : public CDOTA_Buff
{
public:
float distance_damage_pct; // 0x11d8
int32_t distance_cap; // 0x11dc
float creep_multiplier; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Huskar_Inner_Fire_Knockback : public CDOTA_Buff
{
public:
float knockback_distance; // 0x11d8
float knockback_duration; // 0x11dc
float effective_distance; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Huskar_Inner_Fire_Disarm : public CDOTA_Buff
{
public:
int32_t movement_slow_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Huskar_Inner_Vitality : public CDOTA_Buff
{
public:
int32_t heal; // 0x11d8
float attrib_bonus; // 0x11dc
float hurt_attrib_bonus; // 0x11e0
float hurt_percent; // 0x11e4
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Huskar_Burning_Spear_Self : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
float duration; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Huskar_Burning_Spear_Counter : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Huskar_Burning_Spear_Debuff : public CDOTA_Buff
{
public:
int32_t burn_damage; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Huskar_Berserkers_Blood : public CDOTA_Buff
{
public:
int32_t maximum_health_regen; // 0x11d8
int32_t maximum_attack_speed; // 0x11dc
int32_t maximum_magic_resist; // 0x11e0
int32_t hp_threshold_max; // 0x11e4
ParticleIndex_t m_nFxHuskIndex; // 0x11e8
ParticleIndex_t m_nFxIndexA; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Huskar_Life_Break_Taunt : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
bool m_bDidSetAttackTarget; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Huskar_Life_Break_Charge : public CDOTA_Modifier_DebuffImmune
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Huskar_Life_Break : public CDOTA_Modifier_MoveSpeed_Percentage
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_NightStalker_Void : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_NightStalker_Void_ZoneThinker : public CDOTA_Buff
{
public:
int32_t radius_scepter; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NightStalker_Void_Zone : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_NightStalker_CripplingFear_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_NightStalker_CripplingFear : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_NightStalker_HunterInTheNight : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed_pct_night; // 0x11d8
int32_t bonus_attack_speed_night; // 0x11dc
int32_t bonus_status_resist_night; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_NightStalker_Darkness : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t status_resistance; // 0x11dc
int32_t hp_regen; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpawnSpiderlings : public CDOTA_Buff
{
public:
float spiderling_duration; // 0x11d8
int32_t count; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpawnSpiderlingsShard : public CDOTA_Buff
{
public:
float shard_spiderling_duration; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_Spider_HP : public CDOTA_Buff
{
public:
int32_t hp_bonus; // 0x11d8
int32_t damage_bonus; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpawnSpiderite : public CDOTA_Buff
{
public:
float buff_duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpawnSpideriteDebuff : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hParentSpider; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_PoisonSting : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float duration_hero; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_PoisonStingDebuff : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
int32_t movement_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Broodmother_SpinWeb_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpinWeb_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t m_nFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Broodmother_SpinWebInvisibleApplier : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_SpinWeb_Slowed : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Broodmother_SpinWeb : public CDOTA_Buff
{
public:
int32_t heath_regen; // 0x11d8
int32_t bonus_movespeed; // 0x11dc
int32_t bonus_movespeed_scepter; // 0x11e0
float bonus_turn_rate; // 0x11e4
float flLastDamageTime; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Broodmother_SpinWeb_NoTreeWalking : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_IncapacitatingBite : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_IncapacitatingBiteOrb : public CDOTA_Buff
{
public:
int32_t miss_chance; // 0x11d8
int32_t bonus_movespeed; // 0x11dc
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Broodmother_InsatiableHunger : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t lifesteal_pct; // 0x11dc
float slow_duration; // 0x11e0
float bat_bonus; // 0x11e4
float shard_damage_tick_interval; // 0x11e8
int32_t damage_tick_count; // 0x11ec
int32_t shard_damage_per_tick; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Broodmother_Silken_Bola : public CDOTA_Buff
{
public:
int32_t attack_damage; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t miss_chance; // 0x11e0
int32_t shard_miss_chance; // 0x11e4
};
// Alignment: 14
// Size: 0x1240
class CDOTA_Modifier_Broodmother_StickySnare : public CDOTA_Buff
{
public:
Vector m_vOrigin; // 0x11d8
Vector m_vWallDirection; // 0x11e4
Vector m_vWallRight; // 0x11f0
int32_t width; // 0x11fc
float root_duration; // 0x1200
float formation_delay; // 0x1204
bool m_bTouching; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209
public:
CHandle< C_BaseEntity > m_hRight; // 0x120c
bool m_bParticle; // 0x1210
private:
[[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211
public:
GameTime_t m_flStartingTime; // 0x1214
int32_t m_nFoWID; // 0x1218
int32_t m_nTeamID; // 0x121c
CUtlVector< CHandle< C_BaseEntity > > m_vecAffectedHeroes; // 0x1220
ParticleIndex_t m_nWarmupFXIndex; // 0x1238
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Broodmother_StickySnare_Root : public CDOTA_Buff
{
public:
float damage_per_second; // 0x11d8
bool m_bFirstSecond; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Broodmother_Tough : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_BountyHunter_Track : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
int32_t m_nParentGold; // 0x11dc
int32_t target_crit_multiplier; // 0x11e0
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_BountyHunter_Jinada : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t gold_steal; // 0x11dc
ParticleIndex_t m_nFXIndexA; // 0x11e0
ParticleIndex_t m_nFXIndexB; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 3
// Size: 0x1208
class CDOTA_Modifier_BountyHunter_WindWalk : public CDOTA_Modifier_Invisible
{
public:
int32_t damage_reduction_pct; // 0x11e8
float shard_stun_duration; // 0x11ec
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BountyHunter_WindWalk_Fade : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_BountyHunter_WindWalk_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t attack_slow; // 0x11dc
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_BountyHunter_Track_Bear_Trap : public CDOTA_Modifier_Invisible
{
public:
bool m_bActivated; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BountyHunter_TrackEffect : public CDOTA_Buff
{
public:
int32_t bonus_move_speed_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_BountyHunter_Lookout : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
};
// Alignment: 6
// Size: 0x1200
class CDOTA_Modifier_Weaver_Swarm : public CDOTA_Buff
{
public:
int32_t m_iMaxDist; // 0x11d8
int32_t m_iAttackCount; // 0x11dc
int32_t destroy_attacks; // 0x11e0
Vector m_vDirection; // 0x11e4
Vector m_vStartLoc; // 0x11f0
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11fc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Weaver_Swarm_Debuff : public CDOTA_Buff
{
public:
float armor_reduction; // 0x11d8
int32_t damage; // 0x11dc
float m_flCurrentArmorReduction; // 0x11e0
};
// Alignment: 5
// Size: 0x1210
class CDOTA_Modifier_Weaver_Shukuchi : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
int32_t damage; // 0x11ec
int32_t speed; // 0x11f0
float geminate_attack_mark_duration; // 0x11f4
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Weaver_Shukuchi_GeminateAttackMark : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Weaver_GeminateAttack : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_iAttacksRemaining; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Weaver_GeminateAttack_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 4
// Size: 0x12b8
class CDOTA_Modifier_Weaver_TimeLapse : public CDOTA_Buff
{
public:
Vector m_PositionIndex[11]; // 0x11d8
float m_flLife[11]; // 0x125c
float m_flMana[11]; // 0x1288
bool m_bHasValidHistory; // 0x12b4
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Jakiro_DualBreath_Thinker : public CDOTA_Buff
{
public:
int32_t start_radius; // 0x11d8
int32_t end_radius; // 0x11dc
GameTime_t m_fStartTime; // 0x11e0
float m_fTotalTime; // 0x11e4
Vector m_vCastPosition; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Jakiro_DualBreath_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed_pct; // 0x11d8
int32_t slow_attack_speed_pct; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Jakiro_DualBreath_Burn : public CDOTA_Buff
{
public:
bool m_bFirst; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t burn_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Jakiro_IcePath_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1228
class CDOTA_Modifier_Jakiro_IcePath_Thinker : public CDOTA_Buff
{
public:
float path_delay; // 0x11d8
int32_t path_radius; // 0x11dc
int32_t m_nDamage; // 0x11e0
float m_flRadius; // 0x11e4
float stun_duration; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< CHandle< C_BaseEntity > > m_hUnitsHit; // 0x11f0
Vector m_vPathStart; // 0x1208
Vector m_vPathEnd; // 0x1214
GameTime_t m_fStartTime; // 0x1220
};
// Alignment: 5
// Size: 0x1208
class CDOTA_Modifier_Jakiro_LiquidIce : public CDOTA_Buff
{
public:
float duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
int32_t radius; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x11fc
bool m_bForceProc; // 0x1200
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Jakiro_LiquidIce_Debuff : public CDOTA_Buff
{
public:
int32_t base_damage; // 0x11d8
float pct_health_damage; // 0x11dc
int32_t movement_slow; // 0x11e0
};
// Alignment: 5
// Size: 0x1208
class CDOTA_Modifier_Jakiro_LiquidFire : public CDOTA_Buff
{
public:
float duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
int32_t radius; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x11fc
bool m_bForceProc; // 0x1200
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Jakiro_LiquidFire_Burn : public CDOTA_Buff
{
public:
int32_t slow_attack_speed_pct; // 0x11d8
float damage; // 0x11dc
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Jakiro_Macropyre_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
float burn_interval; // 0x11e4
int32_t path_radius; // 0x11e8
int32_t cast_range; // 0x11ec
float linger_duration; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Jakiro_Macropyre_Burn : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_scepter; // 0x11dc
float burn_interval; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Batrider_StickyNapalm_Application : public CDOTA_Buff
{
public:
bool m_bShouldApply; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Batrider_StickyNapalm : public CDOTA_Modifier_Stacking_Base
{
public:
float movement_speed_pct; // 0x11d8
int32_t turn_rate_pct; // 0x11dc
int32_t damage; // 0x11e0
int32_t application_damage; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
ParticleIndex_t m_nFXStackIndex; // 0x11ec
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Ability_Batrider_Flamebreak_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Batrider_Flamebreak_Damage : public CDOTA_Buff
{
public:
int32_t damage_impact; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t slow; // 0x11e0
};
// Alignment: 12
// Size: 0x1228
class CDOTA_Modifier_Batrider_Firefly : public CDOTA_Buff
{
public:
bool m_bActive; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t radius; // 0x11dc
int32_t m_ifirefly_Active; // 0x11e0
int32_t tree_radius; // 0x11e4
int32_t damage_per_second; // 0x11e8
int32_t movement_speed; // 0x11ec
float tick_interval; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x11f4
ParticleIndex_t m_nFXIndexB; // 0x11f8
GameTime_t m_fNextDamageTick; // 0x11fc
Vector m_vLastFirePoolLoc; // 0x1200
int32_t bonus_vision; // 0x120c
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Batrider_FlamingLasso : public CDOTA_Buff
{
public:
float tick_rate; // 0x11d8
int32_t drag_distance; // 0x11dc
int32_t break_distance; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
Vector vPreviousLocation; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Batrider_FlamingLasso_Self : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Batrider_FlamingLasso_Damage : public CDOTA_Buff
{
public:
int32_t max_ticks; // 0x11d8
float damage; // 0x11dc
float duration; // 0x11e0
float tick_rate; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Chen_Penitence : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_damage_taken; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Chen_Penitence_Attack_Speed_Buff : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Chen_Divine_Favor_Teleport : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
float teleport_delay; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Chen_DivineFavor_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Chen_DivineFavor : public CDOTA_Buff
{
public:
int32_t armor; // 0x11d8
float heal_rate; // 0x11dc
int32_t creep_bonus; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Chen_HolyPersuasion : public CDOTA_Buff
{
public:
int32_t health_min; // 0x11d8
int32_t new_max; // 0x11dc
int32_t health_bonus; // 0x11e0
int32_t damage_bonus; // 0x11e4
int32_t movement_speed_bonus; // 0x11e8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Chen_TestOfFaith_Teleport : public CDOTA_Buff
{
public:
bool bToChen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Chen_HandOfGod_Hot : public CDOTA_Buff
{
public:
int32_t heal_per_second; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spectre_Desolate : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 7
// Size: 0x1220
class CDOTA_Modifier_Spectre_SpectralDaggerPath : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x18]; // 0x11d8
public:
CUtlVector< CHandle< C_BaseEntity > > m_hUnitsInPath; // 0x11f0
int32_t path_radius; // 0x1208
int32_t vision_radius; // 0x120c
int32_t dagger_radius; // 0x1210
float buff_persistence; // 0x1214
float dagger_grace_period; // 0x1218
float dagger_path_duration; // 0x121c
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Spectre_SpectralDagger : public CDOTA_Buff
{
public:
int32_t path_radius; // 0x11d8
float hero_path_duration; // 0x11dc
Vector m_vLastPosition; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spectre_SpectralDaggerInPath : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
CHandle< C_BaseEntity > m_hTrackingTarget; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_SpectralDaggerPathPhased : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_SpectralDaggerPath_ActivityModifierOnly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Spectre_Desolate_Blind : public CDOTA_Buff
{
public:
int32_t blind_pct; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Spectre_Dispersion : public CDOTA_Buff
{
public:
int32_t damage_reflection_pct; // 0x11d8
int32_t min_radius; // 0x11dc
int32_t max_radius; // 0x11e0
int32_t activation_bonus_pct; // 0x11e4
GameTime_t m_flLastDispersionPulseEffectTime; // 0x11e8
float m_fDamageCounter; // 0x11ec
float m_fLastTime; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_Dispersion_Memory : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_Dispersion_Boost : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spectre_Haunt : public CDOTA_Buff
{
public:
GameTime_t m_fStartAttackTime; // 0x11d8
CHandle< C_BaseEntity > hTarget; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spectre_Spectral_Dagger_Illusions : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Spectre_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
ParticleIndex_t m_nCasterFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DoomBringer_Devour_Hero_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DoomBringer_Devour : public CDOTA_Buff
{
public:
int32_t armor; // 0x11d8
int32_t magic_resist; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DoomBringer_Devour_Hero_Ability : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DoomBringer_ScorchedEarth_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DoomBringer_ScorchedEarthEffect : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_DoomBringer_ScorchedEarthEffectAura : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
int32_t bonus_movement_speed_pct; // 0x11dc
int32_t radius; // 0x11e0
int32_t damage_per_hero; // 0x11e4
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_DoomBringer_InfernalBlade : public CDOTA_Buff
{
public:
bool m_bInfernalBladeAttack; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
ParticleIndex_t m_nFXIndex; // 0x11dc
float burn_duration; // 0x11e0
float ministun_duration; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DoomBringer_InfernalBlade_Burn : public CDOTA_Buff
{
public:
int32_t burn_damage; // 0x11d8
float burn_damage_pct; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DoomBringer_Doom_Aura_Self : public CDOTA_Buff
{
public:
int32_t scepter_aura_radius; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_DoomBringer_Doom_Aura_Enemy : public CDOTA_Buff
{
public:
int32_t scepter_aura_radius; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_DoomBringer_Doom : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
float duration; // 0x11dc
int32_t deniable_pct; // 0x11e0
float flElapsedTime; // 0x11e4
int32_t damage_amp; // 0x11e8
bool m_bDoesBreak; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DoomBringer_Doom_Break : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_SpiritBreaker_GreaterBash : public CDOTA_Buff
{
public:
int32_t chance_pct; // 0x11d8
float damage; // 0x11dc
float movespeed_duration; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_SpiritBreaker_GreaterBash_Break : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_GreaterBash_Speed : public CDOTA_Buff
{
public:
int32_t bonus_movespeed_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_ChargeOfDarkness : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessTarget : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
CEntityIndex m_iChargeTargetEntityIndex; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_ChargeOfDarknessVision : public CDOTA_Buff
{
public:
int32_t m_nFXIndex; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_SpecialAttack : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_SpiritBreaker_Bulldoze : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t status_resistance; // 0x11dc
float damage_barrier; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_EmpoweringHasteAura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_SpiritBreaker_EmpoweringHaste : public CDOTA_Buff
{
public:
int32_t bonus_movespeed_pct_self; // 0x11d8
int32_t bonus_movespeed_pct_allies; // 0x11dc
int32_t bonus_movespeed_pct_extra; // 0x11e0
int32_t duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_NetherStrike_Vision : public CDOTA_Buff
{
public:
int32_t invis_threshold_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_SpiritBreaker_NetherStrike : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
bool m_bStrikeLanded; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
Vector m_vCastLocation; // 0x11e0
CHandle< C_BaseEntity > m_hTarget; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_SpiritBreaker_PlanarPocketAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t magic_resistance; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_SpiritBreaker_PlanarPocket : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Gyrocopter_Rocket_Barrage : public CDOTA_Buff
{
public:
int32_t rocket_damage; // 0x11d8
int32_t bonus_movement_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Gyrocopter_HomingMissile_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 17
// Size: 0x1258
class CDOTA_Modifier_Gyrocopter_Homing_Missile : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nFXIndex2; // 0x11dc
int32_t hero_damage; // 0x11e0
int32_t acceleration; // 0x11e4
int32_t min_damage; // 0x11e8
int32_t max_distance; // 0x11ec
int32_t shard_radius; // 0x11f0
float shard_delay; // 0x11f4
float pre_flight_time; // 0x11f8
float stun_duration; // 0x11fc
int32_t m_nMissileDamage; // 0x1200
int32_t m_nTeamNumber; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1208[0x8]; // 0x1208
public:
float speed; // 0x1210
CHandle< C_BaseEntity > m_hAttachTarget; // 0x1214
Vector m_vStartPosition; // 0x1218
private:
[[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224
public:
CountdownTimer m_EnemyVision; // 0x1228
CountdownTimer m_MoveTime; // 0x1240
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Gyrocopter_Homing_Rocket_Barrage : public CDOTA_Buff
{
public:
int32_t rocket_damage; // 0x11d8
int32_t shard_radius; // 0x11dc
CHandle< C_BaseEntity > m_hTarget; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Gyrocopter_Flak_Cannon : public CDOTA_Buff
{
public:
int32_t max_attacks; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t m_iNumAttacks; // 0x11e0
int32_t projectile_speed; // 0x11e4
int32_t radius; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Gyrocopter_Flak_Cannon_Scepter : public CDOTA_Buff
{
public:
float fire_rate; // 0x11d8
int32_t scepter_radius; // 0x11dc
};
// Alignment: 11
// Size: 0x1200
class CDOTA_Modifier_Gyrocopter_Call_Down : public CDOTA_Buff
{
public:
int32_t slow_duration_first; // 0x11d8
int32_t slow_duration_second; // 0x11dc
int32_t damage_first; // 0x11e0
int32_t damage_second; // 0x11e4
int32_t damage_second_scepter; // 0x11e8
int32_t radius; // 0x11ec
float slow_first; // 0x11f0
float slow_second; // 0x11f4
bool m_bFirstStrike; // 0x11f8
bool m_bDelayed; // 0x11f9
bool m_bHalfDamage; // 0x11fa
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Gyrocopter_Call_Down_Slow : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Alchemist_AcidSpray_Thinker : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t armor_allies; // 0x11dc
int32_t radius; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Alchemist_AcidSpray : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Alchemist_UnstableConcoction : public CDOTA_Buff
{
public:
float brew_time; // 0x11d8
float brew_explosion; // 0x11dc
GameTime_t m_fStartTime; // 0x11e0
GameTime_t m_fLastAlertTime; // 0x11e4
ParticleIndex_t m_nConcoctionFXIndex; // 0x11e8
bool m_bHasStunned; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
int32_t damage_resistance; // 0x11f0
int32_t move_speed; // 0x11f4
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Alchemist_GoblinsGreed : public CDOTA_Buff
{
public:
CUtlVector< GameTime_t > m_DeathList; // 0x11d8
float damage; // 0x11f0
float duration; // 0x11f4
int32_t bonus_gold; // 0x11f8
int32_t bonus_bonus_gold; // 0x11fc
int32_t bonus_gold_cap; // 0x1200
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Alchemist_ChemicalRageTransform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Alchemist_ChemicalRage : public CDOTA_Buff
{
public:
float base_attack_time; // 0x11d8
int32_t bonus_health; // 0x11dc
int32_t bonus_health_regen; // 0x11e0
float bonus_mana_regen; // 0x11e4
int32_t bonus_movespeed; // 0x11e8
ParticleIndex_t m_nFXAlchemistCRIndex; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Alchemist_Scepter_Bonus_Damage : public CDOTA_Buff
{
public:
int32_t scepter_bonus_damage; // 0x11d8
int32_t scepter_spell_amp; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Alchemist_Berserk_Potion : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t hp_regen; // 0x11dc
int32_t move_speed; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Alchemist_Self_Corrosive_Weaponry : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Alchemist_Corrosive_Weaponry_Debuff : public CDOTA_Buff
{
public:
int32_t slow_per_stack; // 0x11d8
float status_resist_per_stack; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_Instance : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Invoker_ColdSnap : public CDOTA_Buff
{
public:
float freeze_damage; // 0x11d8
float freeze_duration; // 0x11dc
float freeze_cooldown; // 0x11e0
float damage_trigger; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_ColdSnap_Freeze : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Invoker_GhostWalk_Self : public CDOTA_Modifier_Invisible
{
public:
int32_t self_slow; // 0x11e8
int32_t area_of_effect; // 0x11ec
float aura_fade_time; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_GhostWalk_Enemy : public CDOTA_Buff
{
public:
int32_t enemy_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Invoker_Tornado : public CDOTA_Modifier_Cyclone
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Invoker_EMP : public CDOTA_Buff
{
public:
int32_t area_of_effect; // 0x11d8
int32_t mana_burned; // 0x11dc
float damage_per_mana; // 0x11e0
CHandle< C_BaseEntity > m_hPullThinker; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_EMP_Pull_Thinker : public CDOTA_Buff
{
public:
int32_t area_of_effect; // 0x11d8
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Invoker_EMP_Pull : public CDOTA_Buff
{
public:
int32_t shard_drag_speed; // 0x11d8
float aura_origin_x; // 0x11dc
float aura_origin_y; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
Vector m_vCenter; // 0x11e8
GameTime_t m_flLastThinkTime; // 0x11f4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Invoker_Alacrity : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_ChaosMeteor_Land : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_ChaosMeteor_Burn : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_SunStrike_Cataclysm_Thinker : public CDOTA_Buff
{
public:
float damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_SunStrike : public CDOTA_Buff
{
public:
int32_t area_of_effect; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_SunStrike_Cataclysm : public CDOTA_Buff
{
public:
int32_t area_of_effect; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_ForgedSpirit_Stats : public CDOTA_Buff
{
public:
int32_t level; // 0x11d8
int32_t armor; // 0x11dc
int32_t mana; // 0x11e0
float attack_range; // 0x11e4
float armor_per_attack; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ForgedSpirit_MeltingStrike : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MeltingStrike_Debuff : public CDOTA_Buff
{
public:
float armor_removed; // 0x11d8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Invoker_IceWall_Thinker : public CDOTA_Buff
{
public:
float damage_per_second; // 0x11d8
int32_t num_wall_elements; // 0x11dc
int32_t wall_element_spacing; // 0x11e0
int32_t wall_element_radius; // 0x11e4
Vector m_vWallDir; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Invoker_IceWall_SlowAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t slow; // 0x11dc
float slow_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_IceWall_SlowDebuff : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Invoker_DeafeningBlast_Knockback : public CDOTA_Buff
{
public:
float disarm_duration; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_DeafeningBlast_Disarm : public CDOTA_Modifier_Disarmed
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_QuasInstance : public CDOTA_Modifier_Invoker_Instance
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_WexInstance : public CDOTA_Modifier_Invoker_Instance
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_ExortInstance : public CDOTA_Modifier_Invoker_Instance
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Invoker_AttackVisuals : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Silencer_CurseOfTheSilent : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
ParticleIndex_t nFxIndex; // 0x11dc
int32_t penalty_duration; // 0x11e0
float penalty_multiplier; // 0x11e4
int32_t movespeed; // 0x11e8
int32_t undispellable; // 0x11ec
};
// Alignment: 4
// Size: 0x1218
class CDOTA_Modifier_Silencer_GlaivesOfWisdom : public CDOTA_Buff
{
public:
float intellect_damage_pct; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
CUtlVector< int16 > m_InFlightSilenceAttackRecords; // 0x11f8
CDOTA_Buff* m_pAttackCounterBuff; // 0x1210
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silencer_GlaivesOfWisdom_AttackCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Debuff : public CDOTA_Buff
{
public:
int32_t int_steal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silencer_GlaivesOfWisdom_DebuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Silencer_GlaivesOfWisdom_Buff : public CDOTA_Buff
{
public:
int32_t int_steal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silencer_GlaivesOfWisdom_BuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Silencer_LastWord : public CDOTA_Buff
{
public:
int32_t duration; // 0x11d8
bool spellcast; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
int32_t damage; // 0x11e0
float debuff_duration; // 0x11e4
float int_multiplier; // 0x11e8
int32_t scepter_bonus_damage; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silencer_LastWord_Disarm : public CDOTA_Modifier_Silence
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silencer_GlobalSilence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Obsidian_Destroyer_ArcaneOrb : public CDOTA_Buff
{
public:
float mana_pool_damage_pct; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_AstralImprisonment_Prison : public CDOTA_Buff
{
public:
int32_t allied_movement_speed_pct; // 0x11d8
bool m_bAllowMovement; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura : public CDOTA_Buff
{
public:
int32_t bonus_mana; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Obsidian_Destroyer_EssenceAura_Effect : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t restore_chance; // 0x11dc
float restore_amount; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Obsidian_Destroyer_Sanity_Eclipse_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium : public CDOTA_Buff
{
public:
int32_t proc_chance; // 0x11d8
int32_t mana_restore; // 0x11dc
float mana_capacity_steal; // 0x11e0
float mana_capacity_duration; // 0x11e4
float shard_mana_duration; // 0x11e8
float scepter_barrier_threshold; // 0x11ec
float scepter_barrier_duration; // 0x11f0
float scepter_barrier_cooldown; // 0x11f4
float scepter_max_mana_barrier_pct; // 0x11f8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Barrier : public CDOTA_Buff
{
public:
float barrier_amt; // 0x11d8
int32_t m_nDamageAbsorbed; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_BonusMana : public CDOTA_Buff
{
public:
int32_t shard_bonus_mana; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff : public CDOTA_Buff
{
public:
int32_t mana_steal; // 0x11d8
float m_flCurrentMana; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff : public CDOTA_Buff
{
public:
int32_t mana_steal; // 0x11d8
float m_flCurrentMana; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Debuff_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Obsidian_Destroyer_Equilibrium_Buff_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_ThunderClap : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t attack_speed_slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_DrunkenHaze : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t miss_chance; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Brewmaster_BrewUp : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Brewmaster_CinderBrew : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
bool m_bIgniteActive; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
float m_flDamagePerTick; // 0x11e0
};
// Alignment: 13
// Size: 0x1210
class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Passive : public CDOTA_Buff
{
public:
int32_t dodge_chance; // 0x11d8
int32_t crit_chance; // 0x11dc
int32_t crit_multiplier; // 0x11e0
int32_t active_multiplier; // 0x11e4
int32_t stun_chance; // 0x11e8
float bash_cooldown; // 0x11ec
float stun_duration; // 0x11f0
float slow_duration; // 0x11f4
int32_t bonus_move_speed; // 0x11f8
int32_t bonus_status_resist; // 0x11fc
int32_t armor; // 0x1200
int32_t magic_resist; // 0x1204
float m_flLastBash; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_Void_Brawler_Slow : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
int32_t active_multiplier; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_DrunkenBrawler_Slow : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Brewmaster_DrunkenBrawler : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nFXIndexB; // 0x11dc
int32_t min_movement; // 0x11e0
int32_t max_movement; // 0x11e4
int32_t m_iMovementBonus; // 0x11e8
GameTime_t m_flNextUpdateTime; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Brewmaster_PrimalSplit_Scepter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_PrimalSplitDelay : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_Fire_Phase : public CDOTA_Buff
{
public:
int32_t status_resistance; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_PrimalSplitDuration : public CDOTA_Buff
{
public:
int32_t bonus_brewling_hp; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Brewmaster_PrimalSplit : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11dc
CHandle< C_BaseEntity > m_hTertiaryTarget; // 0x11e0
CHandle< C_BaseEntity > m_hFourthTarget; // 0x11e4
CHandle< C_BaseEntity > m_hReturnBrewling; // 0x11e8
int32_t m_nFXIndex; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_Void_AstralPulse : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Brewmaster_Void_Void_Strike : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Brewmaster_SpellImmunity : public CDOTA_Modifier_DebuffImmune
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_Pulverize : public CDOTA_Buff
{
public:
int32_t bonus_building_damage; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_Cyclone : public CDOTA_Modifier_Cyclone
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Brewmaster_WindWalk : public CDOTA_Modifier_Invisible
{
public:
int32_t bonus_movement_speeed; // 0x11e8
int32_t bonus_damage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_PermanentImmolation_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Brewmaster_PermanentImmolation : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Brewmaster_Fear : public CDOTA_Modifier_Fear
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Brewmaster_Primal_Companion : public CDOTA_Buff
{
public:
float cooldown_on_death; // 0x11d8
float cooldown_on_take_damage; // 0x11dc
int32_t disable_distance; // 0x11e0
int32_t movement_slow_when_out_of_range; // 0x11e4
bool m_bCanAttack; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
ParticleIndex_t m_nFxIndex; // 0x11ec
int32_t cooldown_penalty_pct; // 0x11f0
int32_t bonus_brewling_hp; // 0x11f4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Brewmaster_Void_Astral_Pull_Movement : public CDOTA_Buff
{
public:
int32_t pull_distance; // 0x11d8
int32_t damage; // 0x11dc
float pull_duration; // 0x11e0
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Lycan_Wolf_Bite_Lifesteal : public CDOTA_Buff
{
public:
int32_t lifesteal_percent; // 0x11d8
int32_t lifesteal_range; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_vecTargets; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lycan_Wolf_Bite_Attack_Range : public CDOTA_Buff
{
public:
int32_t attack_range; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lycan_Shard : public CDOTA_Buff
{
public:
float m_flNextSpawn; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lycan_Wolf_Uncontrollable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lycan_SummonWolves_BonusDamage : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Lycan_SummonWolves_Bash : public CDOTA_Buff
{
public:
int32_t bash_chance; // 0x11d8
float bash_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lycan_SummonWolves_Health : public CDOTA_Buff
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Lycan_SummonWolves_CriticalStrike : public CDOTA_Buff
{
public:
CountdownTimer m_CooldownTimer; // 0x11d8
int32_t maim_chance; // 0x11f0
float maim_duration; // 0x11f4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Lycan_SummonWolves_Maim : public CDOTA_Buff
{
public:
int32_t maim_movement_speed; // 0x11d8
int32_t maim_attack_speed; // 0x11dc
int32_t maim_damage; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Lycan_SummonWolves_PermanentInvisibility : public CDOTA_Modifier_PersistentInvisibility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Lycan_Howl : public CDOTA_Buff
{
public:
int32_t attack_damage_reduction; // 0x11d8
int32_t total_attack_damage_reduction; // 0x11dc
int32_t armor; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lycan_FeralImpulse_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Lycan_FeralImpulse : public CDOTA_Buff
{
public:
int32_t bonus_hp_regen; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lycan_Shapeshift_Transform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lycan_Shapeshift_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Lycan_Shapeshift : public CDOTA_Buff
{
public:
int32_t bonus_night_vision; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
int32_t m_iOriginalAttackCapability; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Lycan_Shapeshift_Speed : public CDOTA_Buff
{
public:
int32_t speed; // 0x11d8
int32_t crit_chance; // 0x11dc
int32_t crit_multiplier; // 0x11e0
int32_t health_bonus; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lycan_Fear : public CDOTA_Modifier_Fear
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Shadow_Demon_Disruption_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Shadow_Demon_Disruption : public CDOTA_Buff
{
public:
float m_flHealth; // 0x11d8
float m_flDisseminate_Duration; // 0x11dc
CHandle< C_BaseEntity > m_hDisseminateAbility; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Shadow_Demon_Soul_Catcher : public CDOTA_Buff
{
public:
int32_t actual_health_lost; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_SpellAmp : public CDOTA_Buff
{
public:
int32_t num_heroes; // 0x11d8
int32_t bonus_spell_amp; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Shadow_Demon_Soul_Catcher_Illusion : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > hTarget; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Shadow_Demon_Shadow_Poison : public CDOTA_Buff
{
public:
float stack_damage; // 0x11d8
float bonus_stack_damage; // 0x11dc
int32_t max_multiply_stacks; // 0x11e0
ParticleIndex_t m_nFXStackIndex; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Shadow_Demon_DemonicPurge_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Shadow_Demon_Purge_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Shadow_Demon_Disseminate : public CDOTA_Buff
{
public:
int32_t damage_reflection_pct; // 0x11d8
int32_t radius; // 0x11dc
GameTime_t m_flLastDispersionPulseEffectTime; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_LoneDruid_SpiritBear_AttackCheck : public CDOTA_Buff
{
public:
bool m_bCanBeResummoned; // 0x11d8
bool m_bCanAttack; // 0x11d9
private:
[[maybe_unused]] uint8_t __pad11da[0x2]; // 0x11da
public:
ParticleIndex_t m_nFxIndex; // 0x11dc
ParticleIndex_t m_nStatusFxIndex; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LoneDruid_SpiritBear_Talent_Logic : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spirit_Bear_Attack_Damage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LoneDruid_SpiritBear_Defender_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_LoneDruid_SpiritBear_Defender : public CDOTA_Buff
{
public:
int32_t damage_share; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_LoneDruid_Entangling_Claws : public CDOTA_Buff
{
public:
int32_t attack_amp; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle : public CDOTA_Buff
{
public:
int32_t entangle_chance; // 0x11d8
int32_t hero_entangle_chance; // 0x11dc
float hero_duration; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_LoneDruid_SpiritBear_Entangle_Effect : public CDOTA_Buff
{
public:
int32_t m_iEntangleDamage; // 0x11d8
float interval_rate; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_LoneDruid_SpiritBear_Demolish : public CDOTA_Buff
{
public:
int32_t bonus_building_damage; // 0x11d8
int32_t true_form_bonus_building_damage; // 0x11dc
int32_t spell_resistance; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_LoneDruid_Rabid : public CDOTA_Buff
{
public:
int32_t shard_movement_speed_pct; // 0x11d8
int32_t shard_attack_speed; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_LoneDruid_SpiritLink : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t lifesteal_percent; // 0x11dc
int32_t armor; // 0x11e0
int32_t armor_sharing; // 0x11e4
CHandle< C_BaseEntity > m_hTarget; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LoneDruid_TrueForm_Transform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_LoneDruid_TrueForm : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
int32_t bonus_hp; // 0x11dc
float base_attack_time; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LoneDruid_DruidForm_Transform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_LoneDruid_TrueForm_BattleCry : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_LoneDruid_SavageRoar : public CDOTA_Modifier_Fear
{
public:
int32_t bonus_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LoneDruid_SpiritBear_TowerKillTracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ChaosKnight_Reality_Rift_Debuff : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_ChaosKnight_Chaos_Strike : public CDOTA_Buff
{
public:
float creep_multiplier; // 0x11d8
float creep_lifesteal_reduction_pct; // 0x11dc
int32_t crit_min; // 0x11e0
int32_t crit_max; // 0x11e4
int32_t lifesteal; // 0x11e8
float chance; // 0x11ec
int32_t m_nNextCrit; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ChaosKnight_Chaos_Strike_Debuff : public CDOTA_Buff
{
public:
int32_t maim_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ChaosKnight_Phantasm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ChaosKnight_Phantasm_Illusion_Shard : public CDOTA_Modifier_ChaosKnight_Phantasm_Illusion
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Meepo_Earthbind : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Meepo_Earthbind_ChainDuration : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Meepo_Self_Geostrike : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Geostrike_Debuff : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Flung : public CDOTA_Buff
{
public:
int32_t m_nHandle; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Fling_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Divided_We_Stand : public CDOTA_Buff
{
public:
float respawn; // 0x11d8
float magic_resist; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Poof_Damage_Sharing : public CDOTA_Buff
{
public:
int32_t damage_share_percentage; // 0x11d8
int32_t damage_share_radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Poof_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Ransack : public CDOTA_Buff
{
public:
int32_t health_steal_heroes; // 0x11d8
int32_t health_steal_creeps; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Meepo_5 : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Meepo_Poof_Casting : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Meepo_MegaMeepo : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float m_flOffset; // 0x11dc
QAngle m_vStartAngles; // 0x11e0
Vector m_vStartLocation; // 0x11ec
float animation_rate; // 0x11f8
bool m_bInterrupted; // 0x11fc
bool m_bHasBeenDestroyed; // 0x11fd
bool m_bIsHighestMeepo; // 0x11fe
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Meepo_MegaMeepo_Self : public CDOTA_Buff
{
public:
int32_t base_strength; // 0x11d8
int32_t base_int; // 0x11dc
int32_t base_agi; // 0x11e0
int32_t stats_pct; // 0x11e4
CHandle< C_BaseEntity > m_hMegameepoFrame; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Meepo_MegaMeepo_Frame_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Meepo_Petrify : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t hp_restore; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Treant_EyesInTheForest_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1208
class CDOTA_Modifier_Treant_NaturesGrasp_Creation_Thinker : public CDOTA_Buff
{
public:
float creation_interval; // 0x11d8
float vines_duration; // 0x11dc
int32_t vine_spawn_interval; // 0x11e0
Vector m_vInitialLoc; // 0x11e4
Vector m_vFinalLoc; // 0x11f0
int32_t m_iVineCount; // 0x11fc
int32_t m_iVinesIndex; // 0x1200
bool m_bFoundTree; // 0x1204
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Treant_NaturesGrasp_Latch_Thinker : public CDOTA_Buff
{
public:
int32_t latch_range; // 0x11d8
int32_t latch_vision; // 0x11dc
float initial_latch_delay; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x8]; // 0x11e4
public:
bool m_bBonus; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Treant_NaturesGrasp_Damage : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t damage_per_second; // 0x11dc
float tick_interval; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Treant_NaturesGrasp_Damage_Bonus : public CDOTA_Modifier_Treant_NaturesGrasp_Damage
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Treant_Lifebomb_Explode : public CDOTA_Buff
{
public:
GameTime_t flStartTime; // 0x11d8
};
// Alignment: 3
// Size: 0x1220
class CDOTA_Modifier_Treant_NaturesGuise : public CDOTA_Buff
{
public:
CountdownTimer m_RevealTimer; // 0x11d8
CountdownTimer m_InvisAttackTimer; // 0x11f0
CountdownTimer m_CooldownTimer; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Treant_NaturesGuise_Tree_Walking : public CDOTA_Buff
{
public:
int32_t movement_bonus; // 0x11d8
int32_t regen_amp; // 0x11dc
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Treant_NaturesGuise_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Treant_NaturesGuise_NearTreeDisplay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Treant_NaturesGuise_Root : public CDOTA_Buff
{
public:
float m_flEntangleDamage; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Treant_LeechSeed : public CDOTA_Buff
{
public:
float damage_interval; // 0x11d8
int32_t leech_damage; // 0x11dc
int32_t movement_slow; // 0x11e0
int32_t radius; // 0x11e4
int32_t projectile_speed; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Treant_LeechSeed_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Treant_LivingArmor : public CDOTA_Buff
{
public:
int32_t heal_per_second; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Treant_Overgrowth : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t mute; // 0x11dc
bool bPurgable; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ogre_Magi_Arcana : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ogre_Magi_Fireblast_Attack_Proc : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Ogre_Magi_Fireblast_Multicast : public CDOTA_Buff
{
public:
CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11d8
float multicast_delay; // 0x11dc
int32_t m_nMultiCastCount; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Ogre_Magi_Ignite : public CDOTA_Buff
{
public:
int32_t slow_movement_speed_pct; // 0x11d8
int32_t burn_damage; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Ogre_Magi_Ignite_Multicast : public CDOTA_Buff
{
public:
CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11d8
float multicast_delay; // 0x11dc
int32_t m_nMultiCastCount; // 0x11e0
int32_t ignite_multicast_aoe; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ogre_Magi_Bloodlust_Autocast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Ogre_Magi_Bloodlust : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_movement_speed; // 0x11dc
int32_t self_bonus; // 0x11e0
float modelscale; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ogre_Magi_Item_Multicast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Ogre_Magi_Smash_Buff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t attacks; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Ogre_Magi_DumbLuck : public CDOTA_Buff
{
public:
float mana_per_str; // 0x11d8
float mana_regen_per_str; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float health_threshold_pct; // 0x11dc
float duration; // 0x11e0
CHandle< C_DOTABaseAbility > m_hTombstoneSourceAbility; // 0x11e4
CHandle< C_BaseEntity > m_hChaseUnit; // 0x11e8
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Undying_Decay_Shard : public CDOTA_Buff
{
public:
float shard_buff_duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< GameTime_t > m_vecStackExpirationTimes; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Undying_Decay_Debuff : public CDOTA_Buff
{
public:
int32_t str_steal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Decay_DebuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Decay_BuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Decay_Buff : public CDOTA_Buff
{
public:
int32_t str_steal; // 0x11d8
int32_t str_scale_up; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
float m_flDecrementTime; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathstrike_Slow_Counter : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_Zombie_Deathlust : public CDOTA_Buff
{
public:
int32_t bonus_move_speed; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Tombstone_Zombie_Modifier : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_Bunker : public CDOTA_Buff
{
public:
float bunker_heal_pct; // 0x11d8
float tombstone_grab_radius; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_Zombie_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float zombie_interval; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_Tombstone_HP : public CDOTA_Buff
{
public:
int32_t tombstone_health; // 0x11d8
int32_t zombie_damage_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Tombstone_Bunker_Cooldown : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Tombstone_Bunker_Friendly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_FleshGolem : public CDOTA_Buff
{
public:
int32_t str_percentage; // 0x11d8
int32_t movement_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Undying_FleshGolem_Slow : public CDOTA_Buff
{
public:
int32_t damage_amp; // 0x11d8
int32_t slow; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Undying_FleshGolem_PlagueAura : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t damage; // 0x11dc
float tick_rate; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Undying_Tombstone_Death_Trigger : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 10
// Size: 0x1210
class CDOTA_Modifier_Rubick_Telekinesis : public CDOTA_Buff
{
public:
GameTime_t m_fStartTime; // 0x11d8
GameTime_t m_fEndTime; // 0x11dc
float m_fTargetHeight; // 0x11e0
float m_fCurHeight; // 0x11e4
Vector m_vStartLoc; // 0x11e8
Vector m_vCurLoc; // 0x11f4
int32_t max_land_distance; // 0x1200
float fall_duration; // 0x1204
bool m_bOverrideDuration; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209
public:
float m_flOverrideDuration; // 0x120c
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Rubick_FadeBolt : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage; // 0x11dc
int32_t jump_damage_reduction_pct; // 0x11e0
float jump_delay; // 0x11e4
int32_t m_iCurJumpCount; // 0x11e8
Vector m_vCurTargetLoc; // 0x11ec
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rubick_Telekinesis_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Rubick_FadeBoltDebuff : public CDOTA_Buff
{
public:
int32_t attack_damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Rubick_FadeBolt_BuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rubick_FadeBoltBuff : public CDOTA_Buff
{
public:
int32_t attack_damage_bonus; // 0x11d8
int32_t attack_damage_reduction; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Rubick_NullField : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rubick_NullField_Effect : public CDOTA_Buff
{
public:
int32_t magic_damage_reduction_pct; // 0x11d8
bool m_bWasHidden; // 0x11dc
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Rubick_SpellSteal : public CDOTA_Buff
{
public:
CUtlString m_strActivityModifier; // 0x11d8
int32_t stolen_debuff_amp; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Rubick_Arcane_Supremacy : public CDOTA_Buff
{
public:
int32_t cast_range; // 0x11d8
int32_t spell_amp; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Disruptor_Thunder_Strike : public CDOTA_Buff
{
public:
float strike_interval; // 0x11d8
int32_t radius; // 0x11dc
float strike_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Disruptor_Thunder_Strike_Slow : public CDOTA_Buff
{
public:
int32_t slow_amount; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Disruptor_Thunder_Strike_Speed : public CDOTA_Buff
{
public:
int32_t shard_movement_speed_bonus; // 0x11d8
int32_t shard_attack_speed_bonus; // 0x11dc
};
// Alignment: 1
// Size: 0x12b0
class CDOTA_Modifier_Disruptor_Glimpse : public CDOTA_Buff
{
public:
Vector m_PositionIndex[18]; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Disruptor_Glimpse_Thinker : public CDOTA_Buff
{
public:
Vector m_vStartLoc; // 0x11d8
CHandle< C_BaseEntity > m_hEntity; // 0x11e4
float m_flDistance; // 0x11e8
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Disruptor_KineticFieldThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float formation_time; // 0x11dc
bool m_bActive; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0xb]; // 0x11e1
public:
int32_t m_nFXIndex; // 0x11ec
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Disruptor_KineticField : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
Vector m_vOriginLoc; // 0x11dc
bool m_bTruesight; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
float damage_per_second; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Disruptor_StaticStormThinker : public CDOTA_Buff
{
public:
int32_t m_nCurrentPulse; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage_max; // 0x11e0
int32_t pulses; // 0x11e4
float duration; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Disruptor_StaticStorm : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
int32_t movement_speed_reduction; // 0x11dc
int32_t attack_speed_reduction; // 0x11e0
bool m_bHasScepter; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Disruptor_StaticStormMute : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nyx_Assassin_Impale : public CDOTA_Buff
{
public:
int32_t impale_damage; // 0x11d8
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Nyx_Assassin_Burrow : public CDOTA_Modifier_Invisible
{
public:
float health_regen_rate; // 0x11e8
float mana_regen_rate; // 0x11ec
int32_t damage_reduction; // 0x11f0
Vector m_vecInitialPos; // 0x11f4
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Nyx_Assassin_SpikedCarapace : public CDOTA_Buff
{
public:
float stun_duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< CHandle< C_BaseEntity > > m_hProcessedEnemies; // 0x11e0
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Nyx_Assassin_Vendetta : public CDOTA_Modifier_Invisible
{
public:
int32_t bonus_damage; // 0x11e8
int32_t movement_speed; // 0x11ec
int32_t shard_movement_speed_bonus; // 0x11f0
int32_t mana_removal_pct; // 0x11f4
bool m_bFreePathing; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nyx_Assassin_Vendetta_Armor_Reduction : public CDOTA_Buff
{
public:
int32_t shard_magic_resist_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Nyx_Assassin_Vendetta_Break : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11f0
class CDOTA_Modifier_Nyx_Assassin_Jolt_Damage_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nyx_Assassin_Jolt_Debuff : public CDOTA_Buff
{
public:
int32_t resist_debuff; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_MirrorImage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_Ensnare : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_RipTide_Passive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_RipTideCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_NagaSiren_RipTide : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_RipTide_Slow : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_NagaSiren_Crit_Passive : public CDOTA_Buff
{
public:
int32_t chance; // 0x11d8
int32_t crit; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t m_nAffectedEnemies; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_NagaSiren_SongOfTheSiren : public CDOTA_Buff
{
public:
float animation_rate; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_NagaSiren_SongOfTheSiren_IgnoreMe : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_NagaSiren_SongOfTheSiren_Healing_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t m_nAffectedAllies; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_vhAffectedHeroes; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class NagaSiren_SongOfTheSiren_Healing : public CDOTA_Buff
{
public:
int32_t heal_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Naga_Siren_Reel_In : public CDOTA_Buff
{
public:
float pull_strength; // 0x11d8
int32_t min_pull_distance; // 0x11dc
GameTime_t m_flLastThinkTime; // 0x11e0
};
// Alignment: 10
// Size: 0x1210
class CDOTA_Modifier_KeeperOfTheLight_Illuminate : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
int32_t total_damage; // 0x11dc
int32_t radius; // 0x11e0
int32_t channel_vision_radius; // 0x11e4
float channel_vision_interval; // 0x11e8
float channel_vision_duration; // 0x11ec
int32_t channel_vision_step; // 0x11f0
GameTime_t m_flLastChantTime; // 0x11f4
Vector m_vNextVisionLocation; // 0x11f8
Vector m_vCastDirection; // 0x1204
};
// Alignment: 21
// Size: 0x1258
class CDOTA_Modifier_KeeperOfTheLight_SpiritForm_Illuminate : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
int32_t vision_radius; // 0x11dc
int32_t radius; // 0x11e0
int32_t total_damage; // 0x11e4
float max_channel_time; // 0x11e8
float speed; // 0x11ec
float vision_duration; // 0x11f0
int32_t channel_vision_radius; // 0x11f4
float channel_vision_interval; // 0x11f8
float channel_vision_duration; // 0x11fc
int32_t channel_vision_step; // 0x1200
Vector m_vCastLoc; // 0x1204
Vector m_vTargetLoc; // 0x1210
GameTime_t m_fStartTime; // 0x121c
float m_fPower; // 0x1220
QAngle m_qCastAngle; // 0x1224
int32_t m_iProjectile; // 0x1230
ParticleIndex_t m_nFXIndex; // 0x1234
ParticleIndex_t m_nFXIndexB; // 0x1238
Vector m_vNextVisionLocation; // 0x123c
Vector m_vCastDirection; // 0x1248
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_KeeperOfTheLight_ManaLeak : public CDOTA_Buff
{
public:
float mana_leak_pct; // 0x11d8
Vector vLastPos; // 0x11dc
bool bResetPosition; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
float m_fAccumulatedManaLeak; // 0x11ec
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_KeeperOfTheLight_Radiant_Bind : public CDOTA_Buff
{
public:
float slow; // 0x11d8
int32_t magic_resistance; // 0x11dc
Vector vLastPos; // 0x11e0
bool bResetPosition; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_fAccumulatedDistance; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x11f4
ParticleIndex_t m_nStatusFXIndex; // 0x11f8
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float off_duration; // 0x11dc
float off_duration_initial; // 0x11e0
float on_duration; // 0x11e4
int32_t hit_count; // 0x11e8
int32_t m_iAttackCount; // 0x11ec
GameTime_t m_flNextTimeOn; // 0x11f0
bool m_bActive; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
ParticleIndex_t m_nFXIndex; // 0x11f8
ParticleIndex_t m_nFXIndexB; // 0x11fc
GameTime_t m_flNextTime; // 0x1200
float m_flCorrectionTime; // 0x1204
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_KeeperOfTheLight_Will_O_Wisp : public CDOTA_Buff
{
public:
int32_t fixed_movement_speed; // 0x11d8
Vector m_vSource; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_KeeperOfTheLight_SpiritForm : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndexA; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t cast_range; // 0x11e0
bool m_bDidSwapSpiritForm; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_KeeperOfTheLight_Recall : public CDOTA_Buff
{
public:
bool m_bWasAttacked; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_KeeperOfTheLight_BlindingLight_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_KeeperOfTheLight_BlindingLight : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_BlindingLight_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Wisp_Tentacles : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
CHandle< C_BaseEntity > hCurrentEntity; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Wisp_Tether_Spell_Lifesteal : public CDOTA_Buff
{
public:
float shard_bonus_spell_lifesteal; // 0x11d8
};
// Alignment: 14
// Size: 0x1228
class CDOTA_Modifier_Wisp_Tether : public CDOTA_Buff
{
public:
bool m_bInManaGained; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11e0
float stun_duration; // 0x11f8
int32_t movespeed; // 0x11fc
int32_t self_bonus; // 0x1200
bool m_bIsInRange; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205
public:
int32_t radius; // 0x1208
int32_t latch_distance; // 0x120c
float m_flHealthHealed; // 0x1210
float m_flManaHealed; // 0x1214
float tether_heal_amp; // 0x1218
GameTime_t m_flHealMessageTime; // 0x121c
GameTime_t m_flManaMessageTime; // 0x1220
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Wisp_Tether_Stun_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Wisp_Tether_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Wisp_Tether_Haste : public CDOTA_Buff
{
public:
float movespeed; // 0x11d8
float shard_bonus_spell_lifesteal; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Wisp_Tether_Scepter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Wisp_Spirit_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 14
// Size: 0x12a8
class CDOTA_Modifier_Wisp_Spirits : public CDOTA_Buff
{
public:
int32_t creep_damage; // 0x11d8
int32_t hero_damage; // 0x11dc
int32_t hit_radius; // 0x11e0
int32_t hero_hit_radius; // 0x11e4
int32_t explode_radius; // 0x11e8
int32_t min_range; // 0x11ec
int32_t max_range; // 0x11f0
int32_t default_radius; // 0x11f4
int32_t spirit_amount; // 0x11f8
float m_flRotation; // 0x11fc
float m_flSpiritRadius; // 0x1200
int32_t spirit_movement_rate; // 0x1204
GameTime_t m_flNextSpawn; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlString m_strSpiritsOutSwapAbility; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Wisp_Spirits_Slow : public CDOTA_Buff
{
public:
int32_t scepter_slow_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Wisp_Overcharge : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_spell_amp; // 0x11dc
int32_t shard_bonus_spell_amp; // 0x11e0
float hp_regen; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Wisp_Relocate_Thinker : public CDOTA_Buff
{
public:
float cast_delay; // 0x11d8
ParticleIndex_t m_nFXIndexEndTeam; // 0x11dc
ParticleIndex_t m_nFXIndexChannel; // 0x11e0
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Wisp_Relocate_Return : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
Vector m_vecReturnPosition; // 0x11dc
float return_time; // 0x11e8
ParticleIndex_t m_nFXTimeRemaining; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Visage_GraveChill_Debuff : public CDOTA_Buff
{
public:
int32_t movespeed_bonus; // 0x11d8
int32_t attackspeed_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Visage_GraveChill_Buff : public CDOTA_Buff
{
public:
int32_t movespeed_bonus; // 0x11d8
int32_t attackspeed_bonus; // 0x11dc
};
// Alignment: 10
// Size: 0x1220
class CDOTA_Modifier_Visage_SoulAssumption : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t stack_limit; // 0x11dc
int32_t damage_limit; // 0x11e0
float stack_duration; // 0x11e4
float damage_min; // 0x11e8
float damage_max; // 0x11ec
ParticleIndex_t m_nFxIndexA; // 0x11f0
ParticleIndex_t m_nFxIndexB; // 0x11f4
int32_t iCur_stack; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x1c]; // 0x11fc
public:
float m_fTotalDamage; // 0x1218
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Visage_GravekeepersCloak_Stack : public CDOTA_Buff
{
public:
bool m_bIsRecovering; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t m_nFXIndex[4]; // 0x11dc
};
// Alignment: 9
// Size: 0x1220
class CDOTA_Modifier_Visage_GravekeepersCloak : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t max_layers; // 0x11dc
float minimum_damage; // 0x11e0
int32_t recovery_time; // 0x11e4
int32_t radius; // 0x11e8
int32_t max_damage_reduction; // 0x11ec
ParticleIndex_t m_nFXIndex[4]; // 0x11f0
ParticleIndex_t m_nFXIndexB; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CDOTA_Modifier_Visage_GravekeepersCloak_Stack* > vStacks; // 0x1208
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Visage_GravekeepersCloak_Secondary : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Visage_SummonFamiliars_Talents : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Visage_Amor_Reduction : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Visage_SummonFamiliars_DamageCharge : public CDOTA_Buff
{
public:
int32_t familiar_speed; // 0x11d8
int32_t m_nFXIndex; // 0x11dc
int32_t m_nFXIndexB; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CountdownTimer m_ctTimer; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Visage_Stone_Form_Self_Cast_Cooldown_Manager : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Thinker : public CDOTA_Buff
{
public:
int32_t stun_radius; // 0x11d8
int32_t stun_damage; // 0x11dc
float stun_delay; // 0x11e0
float stun_duration; // 0x11e4
float stone_duration; // 0x11e8
int32_t m_iIntervalCount; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Buff : public CDOTA_Buff
{
public:
float hp_regen; // 0x11d8
int32_t stun_radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Visage_Scepter : public CDOTA_Buff
{
public:
GameTime_t m_flReadyTime; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Visage_SummonFamiliars_StoneForm_Timer : public CDOTA_Buff
{
public:
float stone_duration; // 0x11d8
GameTime_t m_fStartTime; // 0x11dc
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Visage_Silent_As_The_Grave : public CDOTA_Modifier_Invisible
{
public:
bool m_bHasMadeAttack; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Visage_Silent_As_The_Grave_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Slark_EssenceShift : public CDOTA_Modifier_Stacking_Base
{
public:
int32_t agi_gain; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_DarkPact : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Slark_DarkPact_Pulses : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t total_damage; // 0x11dc
int32_t total_pulses; // 0x11e0
int32_t self_damage_pct; // 0x11e4
float pulse_interval; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_Pounce_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Slark_Pounce : public CDOTA_Buff
{
public:
int32_t pounce_distance; // 0x11d8
int32_t pounce_distance_scepter; // 0x11dc
float pounce_speed; // 0x11e0
float pounce_acceleration; // 0x11e4
int32_t pounce_radius; // 0x11e8
int32_t pounce_damage; // 0x11ec
float leash_duration; // 0x11f0
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Slark_Pounce_Leash : public CDOTA_Buff
{
public:
int32_t leash_radius; // 0x11d8
Vector vLeashLocation; // 0x11dc
bool m_bEscaped; // 0x11e8
bool m_bFishBait; // 0x11e9
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_EssenceShift_DebuffCounter : public CDOTA_Modifier_Stacking_Base
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slark_EssenceShift_Debuff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base
{
public:
int32_t stat_loss; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_EssenceShift_Buff : public CDOTA_Modifier_Stacking_Multiple_Buff_Base
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_EssenceShift_Permanent_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Slark_EssenceShift_Permanent_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slark_ShadowDance_Aura : public CDOTA_Buff
{
public:
int32_t scepter_aoe; // 0x11d8
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Slark_ShadowDance_Passive : public CDOTA_Buff
{
public:
float activation_delay; // 0x11d8
float neutral_disable; // 0x11dc
bool m_bPendingRefresh; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
GameTime_t m_fPendingStateChangeTime; // 0x11e4
CountdownTimer m_NeutralHitTimer; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Slark_ShadowDance_PassiveRegen : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
float bonus_regen; // 0x11dc
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Slark_ShadowDance : public CDOTA_Modifier_Invisible
{
public:
CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slark_ShadowDance_Visual : public CDOTA_Buff
{
public:
bool m_bScepter; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Slark_Depth_Shroud_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
CHandle< C_BaseEntity > m_hVisibleEntity; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Slark_Depth_Shroud : public CDOTA_Modifier_Invisible
{
public:
ParticleIndex_t m_nFXIndex; // 0x11e8
int32_t bonus_movement_speed; // 0x11ec
float bonus_regen; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slark_Fish_Bait_Pre : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Slark_Fish_Bait_Post : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
};
// Alignment: 5
// Size: 0x1228
class CDOTA_Modifier_Medusa_SplitShot : public CDOTA_Buff
{
public:
int32_t damage_modifier; // 0x11d8
int32_t range; // 0x11dc
int32_t arrow_count; // 0x11e0
int32_t projectile_speed; // 0x11e4
ParticleIndex_t m_nSplitShotBowFXIndex; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Medusa_Mystic_Snake_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t turn_slow; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Medusa_ManaShield : public CDOTA_Buff
{
public:
int32_t bonus_mana; // 0x11d8
float absorption_pct; // 0x11dc
float damage_per_mana; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Medusa_StoneGaze_Tracker : public CDOTA_Buff
{
public:
int32_t m_nNumStoned; // 0x11d8
bool m_bAnyInvisible; // 0x11dc
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Medusa_StoneGaze : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float vision_cone; // 0x11dc
float duration; // 0x11e0
int32_t speed_boost; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Medusa_StoneGaze_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Medusa_StoneGaze_Facing : public CDOTA_Buff
{
public:
float face_duration; // 0x11d8
float stone_duration; // 0x11dc
float duration; // 0x11e0
float vision_cone; // 0x11e4
float m_flAccumulatedTime; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CountdownTimer ctFacing; // 0x11f0
bool m_bAlreadyStoned; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209
public:
ParticleIndex_t m_nFXIndex; // 0x120c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Medusa_StoneGaze_Stone : public CDOTA_Buff
{
public:
int32_t bonus_physical_damage; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Medusa_Cold_Blooded : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Troll_Warlord_Rampage : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t status_resistance; // 0x11dc
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_TrollWarlord_BerserkersRage : public CDOTA_Buff
{
public:
int32_t bonus_move_speed; // 0x11d8
int32_t bonus_range; // 0x11dc
int32_t bonus_hp; // 0x11e0
int32_t bonus_armor; // 0x11e4
int32_t ensnare_chance; // 0x11e8
float ensnare_duration; // 0x11ec
float base_attack_time; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrollWarlord_BerserkersRage_Ensnare : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TrollWarlord_BerserkersRage_Maim : public CDOTA_Buff
{
public:
int32_t maim_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Slow : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 16
// Size: 0x1248
class CDOTA_Modifier_TrollWarlord_Whirling_Axes_Melee : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t hit_radius; // 0x11dc
int32_t axe_movement_speed; // 0x11e0
float whirl_duration; // 0x11e4
float max_range; // 0x11e8
float blind_duration; // 0x11ec
float m_flRotation; // 0x11f0
float m_flAxeRadius; // 0x11f4
GameTime_t m_flDieTime; // 0x11f8
float m_bPiercesMagicImmunity; // 0x11fc
int32_t m_nSwapIndex; // 0x1200
bool m_bReturning; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205
public:
ParticleIndex_t m_nAxeFXIndex[2]; // 0x1208
int32_t m_nHeroesHitForRelic; // 0x1210
private:
[[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214
public:
CUtlVector< CHandle< C_BaseEntity > > hitEntities; // 0x1218
CUtlVector< CHandle< C_BaseEntity > > m_hAxes; // 0x1230
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrollWarlord_Axe_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_TrollWarlord_WhirlingAxes_Blind : public CDOTA_Buff
{
public:
int32_t blind_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_TrollWarlord_Fervor : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t max_stacks; // 0x11dc
CHandle< C_BaseEntity > m_hUnit; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_TrollWarlord_BattleTrance : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t lifesteal; // 0x11e0
CHandle< C_BaseEntity > m_hTarget; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrollWarlord_BattleTrance_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_TrollWarlord_BattleTrance_Vision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Centaur_DoubleEdge_Slow : public CDOTA_Buff
{
public:
int32_t shard_movement_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Centaur_DoubleEdge_Buff : public CDOTA_Buff
{
public:
int32_t shard_str_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Centaur_Return_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Centaur_Return : public CDOTA_Buff
{
public:
int32_t return_damage; // 0x11d8
int32_t return_damage_str; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Centaur_Return_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Centaur_Return_Bonus_Damage : public CDOTA_Buff
{
public:
float damage_gain_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Centaur_Stampede_Slow : public CDOTA_Buff
{
public:
int32_t cast_time_increase; // 0x11d8
int32_t slow_movement_speed; // 0x11dc
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Centaur_Stampede : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage_reduction; // 0x11dc
int32_t has_flying_movement; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11e8
};
// Alignment: 6
// Size: 0x1200
class CDOTA_Modifier_Centaur_Cart : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hUnit; // 0x11d8
bool m_bWasMoving; // 0x11dc
bool m_bSpawnDone; // 0x11dd
private:
[[maybe_unused]] uint8_t __pad11de[0x2]; // 0x11de
public:
Vector m_vecOldForward; // 0x11e0
int32_t break_distance; // 0x11ec
Vector m_vecPreviousLocation; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Centaur_Hitched_Into_Cart : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Centaur_Mount_Toss : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Centaur_Mounted : public CDOTA_Buff
{
public:
int32_t melee_attack_range; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Magnataur_Horn_Toss : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Horn_Toss_Slow : public CDOTA_Buff
{
public:
int32_t horn_toss_slow_pct; // 0x11d8
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Magnataur_Shockwave_Erupt : public CDOTA_Buff
{
public:
int32_t scepter_width; // 0x11d8
float scepter_duration; // 0x11dc
bool play_particle; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
Vector m_vStart; // 0x11e4
Vector m_vEnd; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Shockwave : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Shockwave_Eruption_Slow : public CDOTA_Buff
{
public:
int32_t scepter_slow_pct; // 0x11d8
int32_t scepter_armor_pct; // 0x11dc
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Magnataur_Shockwave_Pull : public CDOTA_Buff
{
public:
Vector m_vDirection; // 0x11d8
float m_flEndTime; // 0x11e4
float m_flCurTime; // 0x11e8
float pull_duration; // 0x11ec
float effective_distance; // 0x11f0
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Magnataur_Empower : public CDOTA_Buff
{
public:
int32_t bonus_damage_pct; // 0x11d8
float cleave_damage_pct; // 0x11dc
int32_t cleave_starting_width; // 0x11e0
int32_t cleave_ending_width; // 0x11e4
int32_t cleave_distance; // 0x11e8
float self_multiplier; // 0x11ec
int32_t secondary_cleave_distance; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Skewer_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Skewer_Impact : public CDOTA_Buff
{
public:
float slow_duration; // 0x11d8
int32_t skewer_damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_Skewer_Slow : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Magnataur_ReversePolarity : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Magnataur_ReversePolarity_Stats : public CDOTA_Buff
{
public:
int32_t stats_per_stack; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Magnus_Strength_Of_Joelrak : public CDOTA_Buff
{
public:
int32_t strength_per_stack; // 0x11d8
int32_t max_stacks; // 0x11dc
float stack_duration; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Shredder_WhirlingDeath_Debuff : public CDOTA_Buff
{
public:
int32_t stat_loss_pct; // 0x11d8
int32_t stat_loss_univ; // 0x11dc
int32_t iPrimaryAttribute; // 0x11e0
float flStatLossStr; // 0x11e4
float flStatLossAgi; // 0x11e8
float flStatLossInt; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Shredder_TimberChain : public CDOTA_Buff
{
public:
int32_t speed; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_Shredder_ReactiveArmor_Bomb : public CDOTA_Buff
{
public:
float initial_shield; // 0x11d8
float max_shield; // 0x11dc
float shield_per_sec; // 0x11e0
float shield_per_sec_per_enemy; // 0x11e4
float duration; // 0x11e8
float base_explosion; // 0x11ec
int32_t radius; // 0x11f0
int32_t explosion_radius; // 0x11f4
int32_t m_nDamageAbsorbed; // 0x11f8
GameTime_t m_timeLastTick; // 0x11fc
GameTime_t m_StartTime; // 0x1200
int32_t m_nLastParticleTime; // 0x1204
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_Shredder_Reactive_Armor : public CDOTA_Buff
{
public:
int32_t stack_limit; // 0x11d8
float stack_duration; // 0x11dc
GameTime_t m_flStackDieTime; // 0x11e0
ParticleIndex_t m_pFXIndex[4]; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Shredder_Reactive_Armor_Stack : public CDOTA_Buff
{
public:
float bonus_armor; // 0x11d8
float bonus_hp_regen; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Shredder_Chakram_Thinker : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
float mana_per_second; // 0x11dc
float radius; // 0x11e0
float break_distance; // 0x11e4
float damage_interval; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Shredder_Chakram_Debuff : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t slow_health_percentage; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Shredder_Chakram_Debuff_2 : public CDOTA_Modifier_Shredder_Chakram_Debuff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Shredder_Chakram_Disarm : public CDOTA_Modifier_Disarmed
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Shredder_Flamethrower_TreeFire_Thinker : public CDOTA_Buff
{
public:
CUtlVector< CUtlPair< CHandle< C_BaseEntity >, GameTime_t > > m_vecTreeFires; // 0x11d8
bool m_bCleanupWhenEmpty; // 0x11f0
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_Shredder_Flamethrower : public CDOTA_Buff
{
public:
int32_t length; // 0x11d8
int32_t width; // 0x11dc
int32_t damage_per_second; // 0x11e0
ParticleIndex_t m_nBeamFXIndex; // 0x11e4
CHandle< C_BaseEntity > m_hBeamEnd; // 0x11e8
GameTime_t m_flLastHit; // 0x11ec
CUtlVector< C_BaseEntity* > m_vecBurningTrees; // 0x11f0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Shredder_Flamethrower_Damage : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nActiveFXIndex; // 0x11dc
ParticleIndex_t m_nActiveStatusFXIndex; // 0x11e0
float damage_per_second; // 0x11e4
int32_t building_dmg_pct; // 0x11e8
int32_t move_slow_pct; // 0x11ec
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Bristleback_Warpath : public CDOTA_Buff
{
public:
int32_t damage_per_stack; // 0x11d8
int32_t move_speed_per_stack; // 0x11dc
int32_t max_stacks; // 0x11e0
float stack_duration; // 0x11e4
float m_flDuration; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bristleback_Warpath_Stack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Bristleback_ViscousNasalGoo : public CDOTA_Buff
{
public:
float base_armor; // 0x11d8
float armor_per_stack; // 0x11dc
int32_t base_move_slow; // 0x11e0
int32_t move_slow_per_stack; // 0x11e4
int32_t stack_limit; // 0x11e8
ParticleIndex_t m_nFXStackIndex; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bristleback_QuillSpray_AutoCast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x1218
class CDOTA_Modifier_Bristleback_QuillSpray_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
CountdownTimer m_ViewerTimer; // 0x11f8
int32_t projectile_speed; // 0x1210
int32_t radius; // 0x1214
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Bristleback_QuillSpray : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Bristleback_QuillSprayStack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Bristleback_Bristleback : public CDOTA_Buff
{
public:
int32_t side_damage_reduction; // 0x11d8
int32_t back_damage_reduction; // 0x11dc
int32_t side_angle; // 0x11e0
int32_t back_angle; // 0x11e4
float quill_release_threshold; // 0x11e8
float quill_release_interval; // 0x11ec
bool m_bRearHit; // 0x11f0
bool m_bSideHit; // 0x11f1
private:
[[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2
public:
float m_flDamageAccumulated; // 0x11f4
int32_t m_nAccumulatedHits; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_IceShard_Slow_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_IceShard : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_Snowball_Target : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_Snowball_Visible : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_Snowball_Movement : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tusk_Snowball_Movement_Friendly : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tusk_FrozenSigil_Aura : public CDOTA_Buff
{
public:
int32_t sigil_radius; // 0x11d8
ParticleIndex_t m_iIndex; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Tusk_FrozenSigil : public CDOTA_Buff
{
public:
int32_t aghs_shard_move_slow; // 0x11d8
int32_t aghs_shard_damage; // 0x11dc
int32_t attack_slow; // 0x11e0
int32_t turn_rate_slow; // 0x11e4
};
// Alignment: 8
// Size: 0x1218
class CDOTA_Modifier_Tusk_WalrusPunch : public CDOTA_Buff
{
public:
int32_t crit_multiplier; // 0x11d8
float air_time; // 0x11dc
float slow_duration; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11e8
CHandle< C_BaseEntity > m_hTarget; // 0x11f0
bool m_bWalrusPunch; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
ParticleIndex_t m_nFXIndex; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tusk_WalrusPunch_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tusk_WalrusPunch_AirTime : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tusk_WalrusKick_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tusk_WalrusKick_AirTime : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tusk_Tag_Team_Aura : public CDOTA_Buff
{
public:
ParticleIndex_t m_iIndex; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tusk_Tag_Team : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
float slow_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tusk_Tag_Team_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Shard : public CDOTA_Buff
{
public:
float stack_duration; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_intelligence; // 0x11d8
float bonus_armor; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Shard_Bonus_Counter : public CDOTA_Buff
{
public:
int32_t bonus_intelligence; // 0x11d8
float bonus_armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Arcane_Bolt_Lifesteal : public CDOTA_Buff
{
public:
float lifesteal_amt; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Concussive_Shot : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Skywrath_Mage_Ancient_Seal : public CDOTA_Buff
{
public:
int32_t resist_debuff; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Skywrath_Mage_Mystic_Flare : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage; // 0x11dc
float duration; // 0x11e0
float damage_interval; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Skywrath_Mystic_Flare_Aura_Effect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Abaddon_AphoticShield : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float damage_absorb; // 0x11dc
int32_t m_nDamageAbsorbed; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Abaddon_Frostmourne : public CDOTA_Buff
{
public:
float slow_duration; // 0x11d8
float curse_duration; // 0x11dc
int32_t hit_count; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_Frostmourne_Debuff : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
ParticleIndex_t m_nFXStackIndex; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_Frostmourne_Debuff_Bonus : public CDOTA_Buff
{
public:
int32_t curse_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_Frostmourne_Buff : public CDOTA_Buff
{
public:
int32_t curse_attack_speed; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_BorrowedTime : public CDOTA_Buff
{
public:
int32_t redirect_range_scepter; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_BorrowedTime_Passive : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_Borrowed_Time_Damage_Redirect : public CDOTA_Buff
{
public:
float m_fDamageTaken; // 0x11d8
int32_t ally_threshold_scepter; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationAura : public CDOTA_Buff
{
public:
int32_t immolate_aoe; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Abaddon_BorrowedTime_ImmolationDamage : public CDOTA_Buff
{
public:
float immolate_damage; // 0x11d8
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Elder_Titan_AncestralSpirit : public CDOTA_Buff
{
public:
int32_t pass_damage; // 0x11d8
int32_t radius; // 0x11dc
int32_t m_nCreepsHit; // 0x11e0
int32_t m_nHeroesHit; // 0x11e4
float m_flSpeed; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11f0
int32_t m_nBonusMoveSpeed; // 0x1208
};
// Alignment: 13
// Size: 0x1210
class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Buff : public CDOTA_Buff
{
public:
float move_pct_creeps; // 0x11d8
int32_t move_pct_heroes; // 0x11dc
int32_t damage_creeps; // 0x11e0
int32_t damage_heroes; // 0x11e4
float armor_creeps; // 0x11e8
float armor_heroes; // 0x11ec
float move_pct_cap; // 0x11f0
int32_t m_nCreepsHit; // 0x11f4
int32_t m_nHeroesHit; // 0x11f8
float m_fSpeedPercentage; // 0x11fc
int32_t m_nDamage; // 0x1200
int32_t m_nArmor; // 0x1204
bool m_bSpellImmunity; // 0x1208
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Elder_Titan_4 : public CDOTA_Modifier_MagicImmune
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Elder_Titan_AncestralSpirit_Hidden : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Elder_Titan_AncestralSpirit_CastTime : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_EchoStomp_Magic_Immune : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t model_scale; // 0x11d8
};
// Alignment: 5
// Size: 0x1208
class CDOTA_Modifier_Elder_Titan_EchoStomp : public CDOTA_Buff
{
public:
int32_t wake_damage_limit; // 0x11d8
float animation_rate; // 0x11dc
float initial_stun_duration; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CountdownTimer ctStunTimer; // 0x11e8
float m_flDamageTaken; // 0x1200
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_Armor : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_NaturalOrder_Aura_MagicResistance : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_NaturalOrder_Armor : public CDOTA_Buff
{
public:
int32_t armor_reduction_pct; // 0x11d8
float m_flArmorReduction; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_NaturalOrder_MagicResistance : public CDOTA_Buff
{
public:
int32_t magic_resistance_pct; // 0x11d8
};
// Alignment: 11
// Size: 0x1238
class CDOTA_Modifier_Elder_Titan_EarthSplitter_Caster : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitUnits; // 0x11d8
int32_t vision_width; // 0x11f0
float vision_interval; // 0x11f4
float vision_duration; // 0x11f8
int32_t vision_step; // 0x11fc
int32_t total_steps; // 0x1200
int32_t m_nCompletedSteps; // 0x1204
Vector m_vStart; // 0x1208
Vector m_vEnd; // 0x1214
Vector m_vNextVisionLocation; // 0x1220
Vector m_vCastDirection; // 0x122c
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Elder_Titan_EarthSplitter_Thinker : public CDOTA_Buff
{
public:
int32_t crack_width; // 0x11d8
int32_t damage_pct; // 0x11dc
float slow_duration; // 0x11e0
float slow_duration_scepter; // 0x11e4
CDOTA_Buff* m_pParentModifier; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_EarthSplitter : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Elder_Titan_EarthSplitterScepter : public CDOTA_Modifier_Elder_Titan_EarthSplitter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds_Armor : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Legion_Commander_OverwhelmingOdds : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed_creeps; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
float armor_per_creep; // 0x11e0
float armor_per_hero; // 0x11e4
int32_t m_nTotalBonus; // 0x11e8
float m_flBonusArmor; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Legion_Commander_PressTheAttack_Immunity : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t model_scale; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Legion_Commander_PressTheAttack : public CDOTA_Buff
{
public:
int32_t move_speed; // 0x11d8
int32_t hp_regen; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Legion_Commander_MomentOfCourage : public CDOTA_Buff
{
public:
int32_t trigger_chance; // 0x11d8
float buff_duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Legion_Commander_MomentOfCourage_Lifesteal : public CDOTA_Buff
{
public:
int32_t hp_leech_percent; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Legion_Commander_Duel_DamageBoost : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Holdout_GladiatorsUnite_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Holdout_GladiatorsUnite : public CDOTA_Buff
{
public:
int32_t bonus_armor_per_hero; // 0x11d8
int32_t bonus_damage_per_hero; // 0x11dc
int32_t lifesteal_per_hero; // 0x11e0
int32_t scepter_damage_reduction_pct; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Techies_Suicide_RespawnTime : public CDOTA_Buff
{
public:
int32_t m_nSuicideKillCount; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_LandMines_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Techies_ReactiveTazer : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t bonus_ms; // 0x11e0
int32_t stun_radius; // 0x11e4
float stun_duration; // 0x11e8
int32_t damage_percent; // 0x11ec
int32_t m_nDamageRemaining; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_ReactiveTazer_Disarm : public CDOTA_Modifier_Disarmed
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Techies_StickyBombThrow : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Techies_StickyBomb_Chase : public CDOTA_Buff
{
public:
int32_t acceleration; // 0x11d8
int32_t m_nTeamNumber; // 0x11dc
float speed; // 0x11e0
float pre_chase_time; // 0x11e4
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8
Vector m_vStartPosition; // 0x11ec
CountdownTimer m_MoveTime; // 0x11f8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Techies_StickyBomb_Countdown : public CDOTA_Buff
{
public:
Vector m_vLastLoc; // 0x11d8
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Techies_StickyBomb_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Techies_StickyBomb_Slow_Secondary : public CDOTA_Buff
{
public:
int32_t secondary_slow; // 0x11d8
};
// Alignment: 8
// Size: 0x1220
class CDOTA_Modifier_Techies_LandMine : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
float proximity_threshold; // 0x11ec
float damage; // 0x11f0
float activation_delay; // 0x11f4
float outer_damage; // 0x11f8
int32_t min_distance; // 0x11fc
bool bActivated; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x7]; // 0x1201
public:
CountdownTimer m_Timer; // 0x1208
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Techies_LandMine_Burn : public CDOTA_Buff
{
public:
int32_t mres_reduction; // 0x11d8
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Techies_StasisTrap : public CDOTA_Modifier_Invisible
{
public:
int32_t activation_radius; // 0x11e8
int32_t stun_radius; // 0x11ec
float stun_duration; // 0x11f0
float explode_delay; // 0x11f4
float activation_time; // 0x11f8
bool m_bActivated; // 0x11fc
bool m_bTriggered; // 0x11fd
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_StasisTrap_Stunned : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_Suicide_Leap_Animation : public CDOTA_Modifier_Disarmed
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_Suicide_Leap : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_DeployRemoteMine : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1208
class CDOTA_Modifier_Techies_RemoteMine : public CDOTA_Modifier_Invisible
{
public:
int32_t radius; // 0x11e8
int32_t damage; // 0x11ec
int32_t radius_scepter; // 0x11f0
int32_t damage_scepter; // 0x11f4
int32_t vision_radius; // 0x11f8
float vision_duration; // 0x11fc
int32_t model_scale; // 0x1200
bool bExploding; // 0x1204
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Techies_Minefield_Sign_Thinker : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float trigger_radius; // 0x11dc
float minefield_duration; // 0x11e0
bool m_bTriggered; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_Minefield_Sign_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Techies_Minefield_Sign_Scepter : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float minefield_duration; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Techies_Minefield_Sign_Scepter_Aura : public CDOTA_Buff
{
public:
float aura_radius; // 0x11d8
float scepter_move_damage; // 0x11dc
float scepter_move_amt; // 0x11e0
float minefield_duration; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Techies_Arcana_DamageListener : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_EmberSpirit_SearingChains : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
float tick_interval; // 0x11dc
float tick_damage; // 0x11e0
float duration; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_SlightOfFist_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_SleightOfFist_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_SleightOfFist_InProgress : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster : public CDOTA_Buff
{
public:
int32_t bonus_hero_damage; // 0x11d8
int32_t creep_damage_penalty; // 0x11dc
int32_t radius; // 0x11e0
float attack_interval; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_SleightOfFist_Caster_Invulnerability : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_EmberSpirit_FlameGuard : public CDOTA_Buff
{
public:
int32_t absorb_amount; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t radius; // 0x11e0
float tick_interval; // 0x11e4
int32_t shield_pct_absorb; // 0x11e8
int32_t m_nAbsorbRemaining; // 0x11ec
float m_flShowParticleInterval; // 0x11f0
bool m_bDestroy; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EmberSpirit_FlameGuard_Debuff : public CDOTA_Buff
{
public:
int32_t blind_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_FireRemnant_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1210
class CDOTA_Modifier_EmberSpirit_FireRemnant_RemnantTracker : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_vActiveRemnants; // 0x11d8
CUtlVector< CHandle< C_BaseEntity > > m_vTrackingDelayedRemnants; // 0x11f0
int32_t shard_charge_radius; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_EmberSpirit_FireRemnantThinker : public CDOTA_Buff
{
public:
int32_t m_nProjectileHandle; // 0x11d8
bool m_bIsShardRemnant; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard : public CDOTA_Buff
{
public:
int32_t shard_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EmberSpirit_FireRemnant_Shard_Debuff : public CDOTA_Buff
{
public:
int32_t shard_damage_per_second; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_FireRemnant_Timer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EmberSpirit_FireRemnant : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Earth_Spirit_StoneCaller_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_EarthSpirit_RollingBoulder_Caster : public CDOTA_Buff
{
public:
Vector m_vDir; // 0x11d8
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_EarthSpirit_StoneThinker : public CDOTA_Buff
{
public:
CNewParticleEffect* m_pVisionRangeFX; // 0x11d8
int32_t vision_radius; // 0x11e0
bool m_bHasBeenMagnetized; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
ParticleIndex_t m_nFXIndex; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_EarthSpirit_BoulderSmash : public CDOTA_Buff
{
public:
bool m_bInterrupted; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t m_nProjectileID; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EarthSpirit_Boulder_Smash_Debuff : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EarthSpirit_Geogmagnetic_Grip_Debuff : public CDOTA_Modifier_Silence
{
public:
// No members available
};
// Alignment: 10
// Size: 0x1228
class CDOTA_Modifier_EarthSpirit_GeomagneticGrip : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t rock_damage; // 0x11dc
float pull_units_per_second; // 0x11e0
float pull_units_per_second_heroes; // 0x11e4
float total_pull_distance; // 0x11e8
float duration; // 0x11ec
bool m_bUsedStone; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
Vector m_vDestination; // 0x11f4
Vector m_vLocation; // 0x1200
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1210
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_EarthSpirit_Petrify : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
bool m_bHasBeenMagnetized; // 0x11dc
};
// Alignment: 10
// Size: 0x1218
class CDOTA_Modifier_EarthSpirit_Magnetize : public CDOTA_Buff
{
public:
int32_t rock_search_radius; // 0x11d8
int32_t damage_per_second; // 0x11dc
float damage_interval; // 0x11e0
float rock_explosion_delay; // 0x11e4
float damage_duration; // 0x11e8
int32_t cast_radius; // 0x11ec
int32_t rock_explosion_radius; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hExplodedRocks; // 0x11f8
float duration; // 0x1210
bool m_bShowOverhead; // 0x1214
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_EarthSpirit_Polarization : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
float damage_interval; // 0x11dc
float damage_duration; // 0x11e0
int32_t rock_search_radius; // 0x11e4
CHandle< C_BaseEntity > m_hMagnetizeAbility; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_EarthSpirit_Polarization_Damage_Timer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Thinker : public CDOTA_Buff
{
public:
int32_t wave_damage; // 0x11d8
int32_t wave_count; // 0x11dc
int32_t radius; // 0x11e0
float wave_interval; // 0x11e4
float burn_duration; // 0x11e8
float burn_interval; // 0x11ec
float first_wave_delay; // 0x11f0
float building_damage; // 0x11f4
CHandle< C_BaseEntity > m_hTarget; // 0x11f8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AbyssalUnderlord_Firestorm_Burn : public CDOTA_Buff
{
public:
float burn_damage; // 0x11d8
float burn_interval; // 0x11dc
float building_damage; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Thinker : public CDOTA_Buff
{
public:
int32_t pit_damage; // 0x11d8
int32_t radius; // 0x11dc
float pit_interval; // 0x11e0
float ensnare_duration; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Ensnare : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Slow : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AbyssalUnderlord_PitOfMalice_Buff_Placer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Effect : public CDOTA_Buff
{
public:
int32_t damage_reduction_pct; // 0x11d8
float bonus_damage_duration; // 0x11dc
int32_t bonus_damage_from_creep; // 0x11e0
int32_t bonus_damage_from_hero; // 0x11e4
bool m_bWasHidden; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_HeroDmgBuff : public CDOTA_Buff
{
public:
int32_t bonus_damage_from_hero; // 0x11d8
float bonus_shared_by_allies_pct; // 0x11dc
float m_flModifier; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Permanent_HeroDmgBuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_CreepDmgBuff : public CDOTA_Buff
{
public:
int32_t bonus_damage_from_creep; // 0x11d8
float bonus_shared_by_allies_pct; // 0x11dc
float m_flModifier; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_DmgBuffCounter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AbyssalUnderlord_AtrophyAura_Scepter : public CDOTA_Buff
{
public:
int32_t bonus_damage_from_creep; // 0x11d8
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_AbyssalUnderlord_DarkRift : public CDOTA_Buff
{
public:
ParticleIndex_t m_nfxTargetTp; // 0x11d8
int32_t radius; // 0x11dc
int32_t duration; // 0x11e0
ParticleIndex_t m_nfxAmbientFx; // 0x11e4
bool bPointTarget; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
Vector vDestination; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AbyssalUnderlord_DarkRift_Bonus_Health : public CDOTA_Buff
{
public:
int32_t scepter_health_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Underlord_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Underlord_Portal_FX : public CDOTA_Buff
{
public:
ParticleIndex_t m_nPortalAmbientFX; // 0x11d8
float m_fPortalRadius; // 0x11dc
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Underlord_Portal_Warp_Channel : public CDOTA_Buff
{
public:
ParticleIndex_t m_nfxTargetTp; // 0x11d8
ParticleIndex_t m_nfxTargetTp2; // 0x11dc
ParticleIndex_t m_nfxAmbientFx; // 0x11e0
ParticleIndex_t m_nfxPortal1; // 0x11e4
ParticleIndex_t m_nfxPortal2; // 0x11e8
float animation_rate; // 0x11ec
int32_t stop_distance; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Underlord_Portal_Buff : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
int32_t bonus_ms; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Terrorblade_Reflection_Invulnerability : public CDOTA_Modifier_Invulnerable
{
public:
CHandle< C_BaseEntity > hTarget; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Terrorblade_Reflection_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
int32_t attack_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Terrorblade_ConjureImage : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Terrorblade_Demon_Zeal : public CDOTA_Buff
{
public:
int32_t berserk_bonus_attack_speed; // 0x11d8
int32_t berserk_bonus_movement_speed; // 0x11dc
int32_t melee_bonus; // 0x11e0
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Terrorblade_Fear : public CDOTA_Buff
{
public:
Vector m_vOriginal; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform_Aura_Applier : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Terrorblade_Metamorphosis_Transform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Terrorblade_Metamorphosis : public CDOTA_Buff
{
public:
float base_attack_time; // 0x11d8
int32_t bonus_range; // 0x11dc
int32_t m_iOriginalAttackCapabilities; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t speed_loss; // 0x11e8
int32_t attack_projectile_speed_bonus; // 0x11ec
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f0
CUtlSymbolLarge m_iszOriginalRangedAttackEffect; // 0x11f8
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Terrorblade_Metamorphosis_Fear_Thinker : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8
int32_t scepter_speed; // 0x1200
int32_t scepter_radius; // 0x1204
bool m_bFirstThink; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Terrorblade_Arcana_Kill_Effect : public CDOTA_Buff
{
public:
bool m_bFrozen; // 0x11d8
bool m_bFlail; // 0x11d9
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Phoenix_SunRayVision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 21
// Size: 0x1248
class CDOTA_Modifier_Phoenix_SunRay : public CDOTA_Buff
{
public:
int32_t hp_cost_perc_per_second; // 0x11d8
int32_t beam_range; // 0x11dc
int32_t base_damage; // 0x11e0
int32_t base_heal; // 0x11e4
float tick_interval; // 0x11e8
float forward_move_speed; // 0x11ec
float turn_rate_initial; // 0x11f0
float turn_rate; // 0x11f4
int32_t radius; // 0x11f8
float m_flCurrentTime; // 0x11fc
float m_flAccumulatedSelfDamage; // 0x1200
bool m_bMovingForward; // 0x1204
bool m_bTurningFast; // 0x1205
private:
[[maybe_unused]] uint8_t __pad1206[0x2]; // 0x1206
public:
float m_flFacingTarget; // 0x1208
float hp_perc_damage; // 0x120c
float hp_perc_heal; // 0x1210
ParticleIndex_t m_nBeamFXIndex; // 0x1214
CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1218
CHandle< C_BaseEntity > m_hBeamEnd; // 0x1238
bool m_bCreatedVisionThinkers; // 0x123c
private:
[[maybe_unused]] uint8_t __pad123d[0x3]; // 0x123d
public:
CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1240
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Phoenix_Sun_Ray_Slow : public CDOTA_Buff
{
public:
int32_t shard_move_slow_pct; // 0x11d8
};
// Alignment: 11
// Size: 0x1238
class CDOTA_Modifier_Phoenix_IcarusDive : public CDOTA_Buff
{
public:
Vector m_vSource; // 0x11d8
Vector m_vTarget; // 0x11e4
Vector m_vDirection; // 0x11f0
QAngle m_angDirection; // 0x11fc
float m_flCurrentTime; // 0x1208
int32_t dash_length; // 0x120c
int32_t dash_width; // 0x1210
int32_t hit_radius; // 0x1214
float burn_duration; // 0x1218
float dive_duration; // 0x121c
CUtlVector< CHandle< C_BaseEntity > > m_vecHitEntities; // 0x1220
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Phoenix_IcarusDiveBurn : public CDOTA_Buff
{
public:
float burn_tick_interval; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t slow_movement_speed_pct; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Phoenix_FireSpiritCount : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Phoenix_FireSpiritBurn : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
int32_t damage_per_second; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Phoenix_SupernovaHiding : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Phoenix_Sun : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float stun_duration; // 0x11dc
int32_t max_hero_attacks; // 0x11e0
int32_t max_hero_attacks_scepter; // 0x11e4
int32_t max_hero_attacks_required; // 0x11e8
CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11ec
int32_t m_iAttackCount; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Phoenix_Sun_Debuff : public CDOTA_Buff
{
public:
int32_t damage_per_sec; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Oracle_FortunesEndChannelTarget : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Oracle_FortunesEndPurge : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Oracle_FatesEdict : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Oracle_PurifyingFlames : public CDOTA_Buff
{
public:
float heal_per_second; // 0x11d8
float tick_rate; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Oracle_FalsePromiseTimer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Oracle_FalsePromise_Invis : public CDOTA_Modifier_PersistentInvisibility
{
public:
float shard_spell_amp_bonus; // 0x11e8
float shard_bat_bonus; // 0x11ec
};
// Alignment: 8
// Size: 0x1228
class CDOTA_Modifier_Oracle_FalsePromise : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x30]; // 0x11d8
public:
bool m_bWaitingForInvulnerability; // 0x1208
bool m_bDisableHealing; // 0x1209
private:
[[maybe_unused]] uint8_t __pad120a[0x2]; // 0x120a
public:
float m_flHealthOnCreated; // 0x120c
ParticleIndex_t m_nFXIndex; // 0x1210
ParticleIndex_t m_nFXIndexB; // 0x1214
float m_flRunningDmg; // 0x1218
float m_flRunningHealth; // 0x121c
int32_t bonus_armor; // 0x1220
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Oracle_RainOfDestiny_Aura : public CDOTA_Buff
{
public:
float damage; // 0x11d8
int32_t radius; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Oracle_RainOfDestiny : public CDOTA_Buff
{
public:
int32_t heal_amp; // 0x11d8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Frost_Attack : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Flight : public CDOTA_Buff
{
public:
float attack_point; // 0x11d8
int32_t attack_range_bonus; // 0x11dc
int32_t projectile_speed_bonus; // 0x11e0
int32_t night_vision_bonus; // 0x11e4
int32_t movement_scepter; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11f0
int32_t max_attacks; // 0x11f8
int32_t m_iNumAttacks; // 0x11fc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Winter_Wyvern_Arctic_Burn_Slow : public CDOTA_Buff
{
public:
float percent_damage; // 0x11d8
int32_t move_slow; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Winter_Wyvern_Splinter_Blast_Slow : public CDOTA_Buff
{
public:
int32_t bonus_movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Winter_Wyvern_Cold_Embrace : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t heal_additive; // 0x11e0
float heal_percentage; // 0x11e4
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Kill_Credit : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Winter_Wyvern_Winters_Curse_Aura : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_nAlliesTaunted; // 0x11dc
bool m_bRelicTriggered; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t radius; // 0x11e4
int32_t damage_amplification; // 0x11e8
int32_t damage_reduction; // 0x11ec
GameTime_t m_flLastSeen; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Winter_Wyvern_Winters_Curse : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
CHandle< C_BaseEntity > m_hDesiredTarget; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
};
// Alignment: 13
// Size: 0x1210
class CDOTA_Modifier_ArcWarden_Flux : public CDOTA_Buff
{
public:
int32_t m_nCasterTeam; // 0x11d8
int32_t damage_per_second; // 0x11dc
int32_t tempest_damage_per_second; // 0x11e0
int32_t search_radius; // 0x11e4
int32_t move_speed_slow_pct; // 0x11e8
int32_t tempest_move_speed_slow_pct; // 0x11ec
int32_t status_resist; // 0x11f0
float think_interval; // 0x11f4
int32_t m_nCurrentMovementSlow; // 0x11f8
int32_t m_nCurrentStatusResistance; // 0x11fc
bool m_bAlone; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
ParticleIndex_t m_nFXIndex; // 0x1204
bool m_bIsTempestVersion; // 0x1208
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Evasion : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t radius; // 0x11e0
Vector m_vPos; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_Attack_Speed : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_ArcWarden_MagneticField_Evasion : public CDOTA_Buff
{
public:
int32_t evasion_chance; // 0x11d8
int32_t radius; // 0x11dc
int32_t shard_magic_resist; // 0x11e0
int32_t shard_slow_pct; // 0x11e4
float aura_origin_x; // 0x11e8
float aura_origin_y; // 0x11ec
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_ArcWarden_MagneticField_Thinker_AttackRange : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t radius; // 0x11e0
Vector m_vPos; // 0x11e4
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_ArcWarden_MagneticField_AttackRange : public CDOTA_Buff
{
public:
int32_t attack_range_bonus; // 0x11d8
int32_t attack_magic_damage; // 0x11dc
int32_t radius; // 0x11e0
int32_t shard_magic_resist; // 0x11e4
int32_t shard_slow_pct; // 0x11e8
float aura_origin_x; // 0x11ec
float aura_origin_y; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ArcWarden_MagneticField_Attack_Speed : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ArcWarden_SparkWraith_Purge : public CDOTA_Buff
{
public:
int32_t move_speed_slow_pct; // 0x11d8
};
// Alignment: 11
// Size: 0x1208
class CDOTA_Modifier_ArcWarden_SparkWraith_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t scepter_radius; // 0x11dc
int32_t wraith_vision_radius; // 0x11e0
int32_t wraith_speed; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8
public:
float activation_delay; // 0x11f0
float scepter_activation_delay; // 0x11f4
float think_interval; // 0x11f8
int32_t m_nSparkDamage; // 0x11fc
int32_t m_nViewerID; // 0x1200
bool m_bActive; // 0x1204
bool m_bOriginal; // 0x1205
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_ArcWarden_TempestDouble : public CDOTA_Buff
{
public:
int32_t penalty_distance; // 0x11d8
int32_t attack_damage_penalty; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ArcWarden_TempestDouble_DistancePenalty : public CDOTA_Buff
{
public:
int32_t attack_damage_penalty; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Arc_Warden_Scepter : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hRune; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Banana : public CDOTA_Buff
{
public:
int32_t slide_distance; // 0x11d8
int32_t radius; // 0x11dc
float slide_duration; // 0x11e0
};
// Alignment: 11
// Size: 0x1228
class CDOTA_Modifier_Banana_Knockback : public CDOTA_Buff
{
public:
Vector m_vCenter; // 0x11d8
int32_t knockback_distance; // 0x11e4
int32_t knockback_height; // 0x11e8
float knockback_duration; // 0x11ec
Vector m_vHorizOffset; // 0x11f0
Vector m_vStartPosition; // 0x11fc
Vector m_vDir; // 0x1208
float m_fCurrentTimeHoriz; // 0x1214
float m_fCurrentTimeVert; // 0x1218
bool m_bShouldStun; // 0x121c
private:
[[maybe_unused]] uint8_t __pad121d[0x3]; // 0x121d
public:
float flTimeSinceChange; // 0x1220
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_Strike_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_Strike_Crit : public CDOTA_Buff
{
public:
int32_t strike_crit_mult; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_Bounce : public CDOTA_Buff
{
public:
float jump_damage_cooldown; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_MonkeyKing_BounceLeap : public CDOTA_Buff
{
public:
float give_up_distance; // 0x11d8
float ground_jump_distance; // 0x11dc
float m_flZDelta; // 0x11e0
float perched_day_vision; // 0x11e4
float perched_night_vision; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_TreeDance_Activity : public CDOTA_Buff
{
public:
float m_fAbilityRangePct; // 0x11d8
float m_bIsSpring; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_RightClickJump_Activity : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_SpringSlow : public CDOTA_Buff
{
public:
int32_t impact_movement_slow; // 0x11d8
int32_t m_nSlowPct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_Spring_Thinker : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_TreeJump_Hidden : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_UnperchedStunned : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_MonkeyKing_ArcToGround : public CDOTA_Buff
{
public:
float leap_speed; // 0x11d8
float give_up_distance; // 0x11dc
float attackspeed_duration; // 0x11e0
float m_flOriginalZDelta; // 0x11e4
float m_flZDelta; // 0x11e8
};
// Alignment: 15
// Size: 0x1220
class CDOTA_Modifier_MonkeyKing_Transform : public CDOTA_Buff
{
public:
CUtlString m_strDisguise; // 0x11d8
int32_t movespeed; // 0x11e0
int32_t m_nDisguisedSpeed; // 0x11e4
int32_t reveal_radius; // 0x11e8
ParticleIndex_t m_nDisguiseEffectIndex; // 0x11ec
CHandle< C_BaseEntity > m_hCourierToClone; // 0x11f0
CHandle< C_BaseEntity > m_hCreepToClone; // 0x11f4
CUtlVector< CHandle< C_BaseEntity > > m_aryBountyRuneSpawners; // 0x11f8
bool m_bIsFlyingCourier; // 0x1210
bool m_bIsRune; // 0x1211
bool m_bIsBanana; // 0x1212
bool m_bIsFakeAlly; // 0x1213
uint32_t m_nMischiefUnitType; // 0x1214
int32_t m_nMischiefHealthbarOffset; // 0x1218
float invul_duration; // 0x121c
};
// Alignment: 10
// Size: 0x1220
class CDOTA_Modifier_MonkeyKing_FurArmyThinker : public CDOTA_Buff
{
public:
float m_fDuration; // 0x11d8
GameTime_t m_fTimeThinkerCreated; // 0x11dc
CUtlVector< Vector > m_vTargetPositions; // 0x11e0
Vector m_vInitialPos; // 0x11f8
int32_t first_radius; // 0x1204
int32_t num_first_soldiers; // 0x1208
int32_t second_radius; // 0x120c
int32_t num_second_soldiers; // 0x1210
ParticleIndex_t m_nRingFXIndex; // 0x1214
int32_t final_radius; // 0x1218
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_MonkeyKing_FurArmy_Soldier : public CDOTA_Buff
{
public:
Vector m_vTargetPos; // 0x11d8
Vector m_vDirection; // 0x11e4
int32_t move_speed; // 0x11f0
CHandle< C_BaseEntity > m_hThinker; // 0x11f4
bool m_bIsInPosition; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9
public:
ParticleIndex_t m_nFXIndex; // 0x11fc
bool m_bAutoSpawn; // 0x1200
};
// Alignment: 10
// Size: 0x1208
class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInPosition : public CDOTA_Buff
{
public:
Vector m_vTargetPos; // 0x11d8
CHandle< C_BaseEntity > m_hAttackTarget; // 0x11e4
float attack_speed; // 0x11e8
int32_t second_radius; // 0x11ec
int32_t outer_attack_buffer; // 0x11f0
CHandle< C_BaseEntity > m_hThinker; // 0x11f4
bool m_bDisarmed; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9
public:
GameTime_t m_flNextAttackTime; // 0x11fc
ParticleIndex_t m_nFXIndex; // 0x1200
bool m_bAutoSpawn; // 0x1204
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierInactive : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_FurArmy_SoldierHidden : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ObliterateSoldier : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_FurArmy_BonusDamage : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_MonkeyKing_QuadrupleTap : public CDOTA_Buff
{
public:
int32_t counter_duration; // 0x11d8
int32_t required_hits; // 0x11dc
int32_t max_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Counter : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXStackIndex; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_MonkeyKing_QuadrupleTap_Bonuses : public CDOTA_Buff
{
public:
int32_t charges; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t lifesteal; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
int32_t m_nIgnoreStrikeIndex; // 0x11e8
bool m_bIsAttackAnim; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_CloudRun : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_MonkeyKing_CloudRunStart : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_MonkeyKing_BoundlessStrike_ShardMovement : public CDOTA_Buff
{
public:
int32_t acceleration_z; // 0x11d8
int32_t min_height_above_lowest; // 0x11dc
int32_t min_height_above_highest; // 0x11e0
int32_t max_horizontal_acceleration; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_HeartPiercer : public CDOTA_Buff
{
public:
float debuff_delay; // 0x11d8
int32_t chance_pct; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_HeartPiercer_Delay : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float debuff_delay; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_HeartPiercer_Debuff : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_LuckyShot : public CDOTA_Buff
{
public:
int32_t chance_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_LuckyShot_Disarm : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
int32_t armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_LuckyShot_Silence : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_ShieldCrash_Jump : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_ShieldCrash_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_ShieldCrash_Buff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_Swashbuckle_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Pangolier_Swashbuckle_Attack : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 5
// Size: 0x1208
class CDOTA_Modifier_Pangolier_Swashbuckle : public CDOTA_Buff
{
public:
int32_t m_nStrikesLeft; // 0x11d8
float attack_interval; // 0x11dc
Vector m_vSpawnPos; // 0x11e0
Vector m_vStrikeDir; // 0x11ec
Vector m_vDashDir; // 0x11f8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_Swashbuckle_Stunned : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 20
// Size: 0x1278
class CDOTA_Modifier_Pangolier_Gyroshell : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t mp_cost_per_second; // 0x11d8
float tick_interval; // 0x11dc
float forward_move_speed; // 0x11e0
float turn_rate_boosted; // 0x11e4
float turn_rate; // 0x11e8
int32_t hit_radius; // 0x11ec
int32_t knockback_radius; // 0x11f0
bool m_bHitFirstUpdate; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
GameTime_t m_flHitEndTime; // 0x11f8
float hit_recover_time; // 0x11fc
GameTime_t m_flJumpEndTime; // 0x1200
float jump_recover_time; // 0x1204
float m_flTurnBoostProgress; // 0x1208
float m_flFacingTarget; // 0x120c
bool m_bIsJumping; // 0x1210
private:
[[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211
public:
ParticleIndex_t m_nFXIndex; // 0x1214
CUtlVector< float32 > m_flTurnHistory; // 0x1218
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitLastRicochet; // 0x1230
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesCredited; // 0x1248
CUtlVector< CHandle< C_BaseEntity > > m_vecHeroesHitCurrentRicochet; // 0x1260
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_Gyroshell_Ricochet : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_GyroshellTimeout : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_GyroshellBounce : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Pangolier_Gyroshell_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 22
// Size: 0x1280
class CDOTA_Modifier_Pangolier_Rollup : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t mp_cost_per_second; // 0x11d8
float tick_interval; // 0x11dc
float forward_move_speed; // 0x11e0
float turn_rate_boosted; // 0x11e4
float turn_rate; // 0x11e8
int32_t hit_radius; // 0x11ec
int32_t knockback_radius; // 0x11f0
bool m_bHitFirstUpdate; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
GameTime_t m_flHitEndTime; // 0x11f8
float hit_recover_time; // 0x11fc
GameTime_t m_flJumpEndTime; // 0x1200
float jump_recover_time; // 0x1204
float m_flTurnBoostProgress; // 0x1208
float m_flFacingTarget; // 0x120c
GameTime_t m_flLastHeroAttackTime; // 0x1210
bool m_bIsJumping; // 0x1214
private:
[[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215
public:
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
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff
{
public:
float latch_creation_interval; // 0x11d8
float initial_creation_delay; // 0x11dc
int32_t placement_count; // 0x11e0
float placement_duration; // 0x11e4
int32_t m_iBramblesIndex; // 0x11e8
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff
{
public:
int32_t latch_range; // 0x11d8
int32_t latch_vision; // 0x11dc
float latch_creation_delay; // 0x11e0
float latch_duration; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8
public:
bool m_bActive; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DarkWillow_BrambleMaze : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DarkWillow_ShadowRealm_FadeTime : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
float max_damage_duration; // 0x11dc
int32_t attack_range_bonus; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
bool bAttackRange; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
GameTime_t m_flStartTime; // 0x1204
GameTime_t m_flFadeTime; // 0x1208
float m_flDamageScale; // 0x120c
float duration; // 0x1210
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_DarkWillow_ShadowRealm_Buff_Attack_Logic : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t m_iRecord; // 0x11dc
float m_flDamageScale; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_DarkWillow_CursedCrown : public CDOTA_Buff
{
public:
float delay; // 0x11d8
float stun_duration; // 0x11dc
int32_t stun_radius; // 0x11e0
GameTime_t m_fStartTime; // 0x11e4
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_DarkWillow_Bedlam : public CDOTA_Buff
{
public:
float m_flRotation; // 0x11d8
CHandle< C_BaseEntity > m_hWisp; // 0x11dc
GameTime_t m_flLastAttack; // 0x11e0
int32_t roaming_radius; // 0x11e4
int32_t attack_radius; // 0x11e8
float roaming_seconds_per_rotation; // 0x11ec
float attack_interval; // 0x11f0
int32_t target_count; // 0x11f4
};
// Alignment: 14
// Size: 0x1218
class CDOTA_Modifier_DarkWillow_Terrorize_Thinker : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hWisp; // 0x11d8
int32_t destination_travel_speed; // 0x11dc
int32_t return_travel_speed; // 0x11e0
int32_t destination_radius; // 0x11e4
float destination_status_duration; // 0x11e8
float initial_delay; // 0x11ec
float starting_height; // 0x11f0
Vector m_vAttackLocation; // 0x11f4
bool m_bAttacking; // 0x1200
bool m_bReturning; // 0x1201
private:
[[maybe_unused]] uint8_t __pad1202[0x2]; // 0x1202
public:
float m_fCurHeight; // 0x1204
float m_fEstimatedTravelTime; // 0x1208
float think_interval; // 0x120c
bool m_bInFlight; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DarkWillow_Debuff_Fear : public CDOTA_Modifier_Fear
{
public:
bool m_bDidGiveOrder; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DarkWillow_Creature_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grimstroke_InkCreature_Spawning : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11d8
};
// Alignment: 10
// Size: 0x1218
class CDOTA_Modifier_Grimstroke_InkCreature : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
ParticleIndex_t m_nAmbientFXIndex; // 0x11dc
int32_t m_nAttackCount; // 0x11e0
bool m_bIsLatched; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CountdownTimer m_EnemyVision; // 0x11f0
float latch_duration; // 0x1208
float speed; // 0x120c
int32_t destroy_attacks; // 0x1210
int32_t hero_attack_multiplier; // 0x1214
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Grimstroke_InkCreature_Debuff : public CDOTA_Buff
{
public:
float m_flCurrentArmorReduction; // 0x11d8
CHandle< C_BaseEntity > m_hLatchedCreature; // 0x11dc
float tick_interval; // 0x11e0
int32_t damage_per_second; // 0x11e4
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Grimstroke_InkCreature_Latched : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11d8
float m_fZOffset; // 0x11dc
bool m_bRemovedByEnemy; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
float latch_duration; // 0x11e4
int32_t pop_damage; // 0x11e8
int32_t latched_unit_offset; // 0x11ec
int32_t latched_unit_offset_short; // 0x11f0
};
// Alignment: 14
// Size: 0x1210
class CDOTA_Modifier_Grimstroke_SpiritWalk_Buff : public CDOTA_Buff
{
public:
GameTime_t m_fStartTime; // 0x11d8
int32_t m_nHeroTickDamageApplied; // 0x11dc
GameTime_t m_fLastEffectsTime; // 0x11e0
int32_t radius; // 0x11e4
float buff_duration; // 0x11e8
float debuff_duration; // 0x11ec
int32_t max_damage; // 0x11f0
float max_stun; // 0x11f4
int32_t movespeed_bonus_pct; // 0x11f8
int32_t damage_per_tick; // 0x11fc
float tick_rate; // 0x1200
float max_threshold_duration; // 0x1204
int32_t shard_bonus_damage_pct; // 0x1208
int32_t shard_heal_pct; // 0x120c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grimstroke_DarkArtistry_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow_pct; // 0x11d8
};
// Alignment: 17
// Size: 0x1218
class CDOTA_Modifier_Grimstroke_SoulChain : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hPartner; // 0x11d8
bool m_bIsPrimary; // 0x11dc
bool m_bEscaped; // 0x11dd
bool m_bTethered; // 0x11de
private:
[[maybe_unused]] uint8_t __pad11df[0x1]; // 0x11df
public:
ParticleIndex_t m_nFXIndex; // 0x11e0
ParticleIndex_t m_nFXIndexA; // 0x11e4
ParticleIndex_t m_nFXIndexB; // 0x11e8
bool m_bStartedLeashSound; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_fLeashDistance; // 0x11f0
GameTime_t m_fOriginalStartTime; // 0x11f4
ParticleIndex_t m_nOverheadFXIndex; // 0x11f8
int32_t chain_latch_radius; // 0x11fc
int32_t chain_break_distance; // 0x1200
float leash_limit_multiplier; // 0x1204
float chain_duration; // 0x1208
float creep_duration_pct; // 0x120c
int32_t bonus_reflected_spell_damage; // 0x1210
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Grimstroke_SoulChain_ChannelCheck : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hAbility; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_hAbilities; // 0x11e0
Vector m_vLocation; // 0x11f8
GameTime_t m_fChannelEnd; // 0x1204
bool m_bInterrupt; // 0x1208
bool m_bExpired; // 0x1209
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grimstroke_Scepter_Buff : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t images_movespeed_bonus; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Grimstroke_Shard_Buff : public CDOTA_Buff
{
public:
int32_t total_damage; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t move_speed; // 0x11e0
float m_flInterval; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mars_Spear_Impale : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Thinker : public CDOTA_Buff
{
public:
Vector m_vPathDir; // 0x11d8
int32_t shard_trail_radius; // 0x11e4
float shard_debuff_linger_duration; // 0x11e8
float shard_interval; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Special_Mars_Spear_Burning_Trail_Burn : public CDOTA_Buff
{
public:
int32_t shard_dps; // 0x11d8
int32_t shard_move_slow_pct; // 0x11dc
float shard_interval; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mars_Spear_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11f8
class CDOTA_Modifier_Mars_ArenaOfBlood_Thinker : public CDOTA_Buff
{
public:
float radius; // 0x11d8
float formation_time; // 0x11dc
float m_flInitialZ; // 0x11e0
float m_flFinalZ; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_ArenaOfBlood_AnimationAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mars_ArenaOfBlood_Animation : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_ArenaOfBlood_BuffAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_ArenaOfBlood_Buff : public CDOTA_Buff
{
public:
int32_t health_regen; // 0x11d8
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_Mars_ArenaOfBlood : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t width; // 0x11dc
int32_t spear_damage; // 0x11e0
int32_t spear_distance_from_wall; // 0x11e4
float spear_attack_interval; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x1c]; // 0x11ec
public:
float warrior_fade_min_dist; // 0x1208
float warrior_fade_max_dist; // 0x120c
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Mars_ArenaOfBlood_Spear : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Mars_ArenaOfBlood_Leash : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float width; // 0x11dc
Vector m_vOriginLoc; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mars_ArenaOfBlood_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Mars_Bulwark : public CDOTA_Buff
{
public:
float physical_damage_reduction; // 0x11d8
float physical_damage_reduction_side; // 0x11dc
float forward_angle; // 0x11e0
float side_angle; // 0x11e4
};
// Alignment: 13
// Size: 0x1218
class CDOTA_Modifier_Mars_Bulwark_Active : public CDOTA_Buff
{
public:
int32_t redirect_chance; // 0x11d8
int32_t redirect_range; // 0x11dc
float forward_angle; // 0x11e0
float side_angle; // 0x11e4
int32_t redirect_speed_penatly; // 0x11e8
int32_t redirect_close_range; // 0x11ec
int32_t m_nPoseParameterWE; // 0x11f0
int32_t m_nPoseParameterNS; // 0x11f4
float m_flLastPoseX; // 0x11f8
float m_flLastPoseY; // 0x11fc
int32_t m_nLastMaxDirection; // 0x1200
Vector m_vLastOrigin; // 0x1204
GameTime_t m_flLastGameTime; // 0x1210
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Mars_Bulwark_Soldier_Bonus : public CDOTA_Buff
{
public:
int32_t m_nPoseParameterWE; // 0x11d8
int32_t m_nPoseParameterNS; // 0x11dc
float m_flLastPoseX; // 0x11e0
float m_flLastPoseY; // 0x11e4
int32_t m_nLastMaxDirection; // 0x11e8
Vector m_vLastOrigin; // 0x11ec
GameTime_t m_flLastGameTime; // 0x11f8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Mars_Bulwark_Soldier_Thinker : public CDOTA_Buff
{
public:
GameTime_t m_NextAttack; // 0x11d8
CHandle< C_BaseEntity > m_hSoldier1; // 0x11dc
CHandle< C_BaseEntity > m_hSoldier2; // 0x11e0
CHandle< C_BaseEntity > m_hSoldier3; // 0x11e4
CHandle< C_BaseEntity > m_hSoldier4; // 0x11e8
CHandle< C_BaseEntity > m_hSoldier5; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mars_Scepter_Damage_Tracker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_Scepter_Damage_Slow : public CDOTA_Buff
{
public:
int32_t scepter_movement_slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_Scepter_Damage : public CDOTA_Buff
{
public:
int32_t scepter_bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_Gods_Rebuke : public CDOTA_Buff
{
public:
int32_t knockback_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mars_GodsRebuke_Crit : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
};
// Alignment: 21
// Size: 0x1238
class CDOTA_Modifier_Snapfire_MortimerKisses : public CDOTA_Buff
{
public:
float m_fIntervalPerRocket; // 0x11d8
float m_flFacingTarget; // 0x11dc
ParticleIndex_t m_nBeamFXIndex; // 0x11e0
CHandle< C_BaseEntity > m_hBeamEnd; // 0x11e4
float m_flCurDistance; // 0x11e8
Vector m_vAimTarget; // 0x11ec
float m_fLastTurnAmount; // 0x11f8
int32_t m_nProjectilesLaunched; // 0x11fc
bool m_bDestroyOnNextThink; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_nProjectilesToLaunch; // 0x1204
bool m_bHasProjectileTalent; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209
public:
int32_t projectile_count; // 0x120c
int32_t projectile_speed; // 0x1210
int32_t projectile_width; // 0x1214
int32_t projectile_vision; // 0x1218
float turn_rate; // 0x121c
int32_t min_range; // 0x1220
int32_t impact_radius; // 0x1224
float min_lob_travel_time; // 0x1228
float max_lob_travel_time; // 0x122c
float delay_after_last_projectile; // 0x1230
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_MortimerKisses_VisionSource : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Snapfire_Magma_Thinker : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
int32_t impact_radius; // 0x11dc
int32_t move_slow_pct; // 0x11e0
float burn_linger_duration; // 0x11e4
ParticleIndex_t m_nPathEffectIndex; // 0x11e8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Snapfire_Magma_Burn_Slow : public CDOTA_Buff
{
public:
int32_t m_nMoveSlowPct; // 0x11d8
float m_fBurnDamagePerTick; // 0x11dc
int32_t move_slow_pct; // 0x11e0
float burn_interval; // 0x11e4
int32_t burn_damage; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Snapfire_Scatterblast_Slow : public CDOTA_Buff
{
public:
bool m_bIsPointBlank; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t movement_slow_pct; // 0x11dc
int32_t attack_slow_pct; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_Scatterblast_Disarm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Snapfire_FiresnapCookie_PreHop : public CDOTA_Buff
{
public:
float jump_duration; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_FiresnapCookie_ShortHop : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_FiresnapCookie_AllyFlailAnim : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_FiresnapCookie_LandingGesture : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_Snapfire_LilShredder_Buff : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
int32_t m_nIsActive; // 0x11f8
bool m_bHasAttackTalent; // 0x11fc
bool m_bBonusAttack; // 0x11fd
private:
[[maybe_unused]] uint8_t __pad11fe[0x2]; // 0x11fe
public:
int32_t attack_range_bonus; // 0x1200
int32_t buffed_attacks; // 0x1204
float base_attack_time; // 0x1208
int32_t attack_speed_bonus; // 0x120c
float armor_duration; // 0x1210
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Snapfire_LilShredder_Attack : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Snapfire_LilShredder_Debuff : public CDOTA_Buff
{
public:
float armor_reduction_per_attack; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Snapfire_GobbleUp_Creep : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Snapfire_GobbleUp_BellyHasUnit : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hGobbledUnit; // 0x11d8
PlayerID_t m_nOriginalControllingUnit; // 0x11dc
bool m_bUnitWasLaunched; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
float max_time_in_belly; // 0x11e4
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Snapfire_SpitCreep_ArcingUnit : public CDOTA_Buff
{
public:
int32_t min_range; // 0x11d8
float min_lob_travel_time; // 0x11dc
float max_lob_travel_time; // 0x11e0
int32_t impact_radius; // 0x11e4
int32_t projectile_vision; // 0x11e8
float stun_duration; // 0x11ec
float min_height_above_lowest; // 0x11f0
float min_height_above_highest; // 0x11f4
float min_acceleration; // 0x11f8
float max_acceleration; // 0x11fc
};
// Alignment: 13
// Size: 0x1258
class CDOTA_Modifier_VoidSpirit_AetherRemnant_Unit : public CDOTA_Buff
{
public:
Vector m_vFacingDir; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< CHandle< C_BaseEntity > > m_hWatchPathThinkers; // 0x11e8
ParticleIndex_t m_nBeamFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< int32 > m_nViewerIDs; // 0x1208
int32_t remnant_watch_distance; // 0x1220
int32_t remnant_watch_radius; // 0x1224
float duration; // 0x1228
int32_t watch_path_vision_radius; // 0x122c
int32_t impact_damage; // 0x1230
float pull_duration; // 0x1234
float activation_delay; // 0x1238
bool m_bPiercesCreeps; // 0x123c
private:
[[maybe_unused]] uint8_t __pad123d[0x3]; // 0x123d
public:
CUtlVector< CHandle< C_BaseEntity > > m_hAlreadyHit; // 0x1240
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VoidSpirit_AetherRemnant_WatchThinker : public CDOTA_Buff
{
public:
int32_t remnant_watch_radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_VoidSpirit_AetherRemnant_Pull : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
PlayerID_t m_nPlayerID; // 0x11dc
float think_interval; // 0x11e0
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_VoidSpirit_AetherRemnantThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
Vector m_vFacingDir; // 0x11dc
CHandle< C_BaseEntity > m_hRemnant; // 0x11e8
bool m_bTriggered; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float m_flCurThink; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VoidSpirit_AetherRemnantUnit_Truesight : public CDOTA_Buff
{
public:
int32_t m_nRadius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_VoidSpirit_AstralStep_ChargeCounter : public CDOTA_Modifier_LegacyChargeCounter
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_VoidSpirit_AstralStep_Debuff : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXStackIndex; // 0x11d8
int32_t movement_slow_pct; // 0x11dc
int32_t pop_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_VoidSpirit_AstralStep_Caster : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_VoidSpirit_AstralStep_Intrinsic : public CDOTA_Buff
{
public:
int32_t ability_chance_pct; // 0x11d8
int32_t attack_chance_pct; // 0x11dc
float pop_damage_delay; // 0x11e0
};
// Alignment: 19
// Size: 0x1278
class CDOTA_Modifier_VoidSpirit_Dissimilate_Phase : public CDOTA_Buff
{
public:
Vector m_vFirstPortalPos; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< Vector > m_vecDestinations; // 0x11e8
CUtlVector< ParticleIndex_t > m_vecDestinationParticles; // 0x1200
CUtlVector< ParticleIndex_t > m_vecDestinationParticles_EnemyTeam; // 0x1218
int32_t m_nCurrentDestinationIndex; // 0x1230
int32_t m_nClosestIndexPosToClick; // 0x1234
int32_t m_nPortalHeightOffset; // 0x1238
private:
[[maybe_unused]] uint8_t __pad123c[0x4]; // 0x123c
public:
char* m_szAlliesPortalFX; // 0x1240
char* m_szEnemiesPortalFX; // 0x1248
int32_t m_nPortalRadius; // 0x1250
int32_t m_nPortalPadding; // 0x1254
int32_t m_nFinalImpactDamageRadius; // 0x1258
int32_t m_nFinalImpactFXRadius; // 0x125c
int32_t destination_fx_radius; // 0x1260
int32_t damage_radius; // 0x1264
int32_t portals_per_ring; // 0x1268
int32_t angle_per_ring_portal; // 0x126c
int32_t first_ring_distance_offset; // 0x1270
float debuff_duration; // 0x1274
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_VoidSpirit_Dissimilate_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_VoidSpirit_ResonantPulse_PhysicalBuff : public CDOTA_Buff
{
public:
int32_t base_absorb_amount; // 0x11d8
int32_t m_nAbsorbRemaining; // 0x11dc
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_VoidSpirit_ResonantPulse_Ring : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x11e8
int32_t speed; // 0x1200
int32_t radius; // 0x1204
int32_t damage; // 0x1208
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_AcornShot_DelayThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_AcornShot_TreeThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_AcornShot_BonusDamage : public CDOTA_Buff
{
public:
int32_t acorn_shot_damage; // 0x11d8
int32_t base_damage_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_AcornShot_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Hoodwink_Bushwhack_Trap : public CDOTA_Buff
{
public:
int32_t visual_height; // 0x11d8
float animation_rate; // 0x11dc
ParticleIndex_t m_iIndex; // 0x11e0
bool m_bPullComplete; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
uint32_t m_TreeId; // 0x11e8
float m_flDamagePerTick; // 0x11ec
int32_t m_nDamageTicks; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_Scurry_Passive : public CDOTA_Buff
{
public:
int32_t evasion; // 0x11d8
int32_t radius; // 0x11dc
int32_t bonus_active_evasion; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_Scurry_Active : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_Sharpshooter_Windup : public CDOTA_Buff
{
public:
int32_t arrow_vision; // 0x11d8
float max_charge_time; // 0x11dc
float turn_rate; // 0x11e0
float base_power; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_Sharpshooter_VisionThinker : public CDOTA_Buff
{
public:
int32_t arrow_width; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_Sharpshooter_Recoil_EndAnim : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_Sharpshooter_Debuff : public CDOTA_Buff
{
public:
int32_t slow_move_pct; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_Camouflage : public CDOTA_Buff
{
public:
float fade_time; // 0x11d8
GameTime_t m_flFadeTime; // 0x11dc
bool m_bInvisLastThink; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_AcornShot_ArmorCorruption : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_Caltrops : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_Caltrops_Debuff : public CDOTA_Buff
{
public:
int32_t movespeed_pct; // 0x11d8
int32_t tick_damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hoodwink_Decoy_Illusion : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 2
// Size: 0x1208
class CDOTA_Modifier_Hoodwink_Decoy_Invisibility : public CDOTA_Modifier_Invisible
{
public:
int32_t movement_speed; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_HeavyQuiver : public CDOTA_Buff
{
public:
int32_t bonus_projectile_speed_pct; // 0x11d8
int32_t bonus_attack_range; // 0x11dc
int32_t deadly_blow_multiplier; // 0x11e0
float maim_duration; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_Hunters_Mark : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
int32_t spell_amp; // 0x11dc
int32_t status_resistance; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_HuntersQuiver : public CDOTA_Buff
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t max_stacks; // 0x11dc
float debuff_duration; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Hoodwink_HuntersQuiver_Mark : public CDOTA_Buff
{
public:
int32_t stack_crit_chance_pct; // 0x11d8
int32_t critical_damage_pct; // 0x11dc
int32_t stack_slow_pct; // 0x11e0
ParticleIndex_t m_nFXStackIndex; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_Boomerang_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Hoodwink_ArcingBoomerang : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Thinker : public CDOTA_Buff
{
public:
float pulse_interval; // 0x11d8
int32_t iEffectRadius; // 0x11dc
int32_t base_damage; // 0x11e0
int32_t base_heal; // 0x11e4
ParticleIndex_t m_nThinkerFXIndex; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Evasion : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_AirTime : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_Disable : public CDOTA_Buff
{
public:
ParticleIndex_t m_nCasterFXIndex; // 0x11d8
ParticleIndex_t m_nStatusFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dawnbreaker_Solar_Guardian_After_Land : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Dawnbreaker_Luminosity : public CDOTA_Buff
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t attack_count; // 0x11dc
bool m_bShouldIncrement; // 0x11e0
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Dawnbreaker_Luminosity_Attack_Buff : public CDOTA_Buff
{
public:
bool m_bIsBuffedAttack; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t heal_pct; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t heal_radius; // 0x11e4
int32_t heal_from_creeps; // 0x11e8
int32_t allied_healing_pct; // 0x11ec
CUtlVector< CHandle< C_BaseEntity > > hTargets; // 0x11f0
float m_flTotalToHeal; // 0x1208
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Thinker : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Converge_Thinker : public CDOTA_Buff
{
public:
int32_t flare_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 11
// Size: 0x1220
class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
int32_t projectile_speed; // 0x11dc
int32_t travel_speed_pct; // 0x11e0
int32_t m_nMaxRange; // 0x11e4
Vector m_vStartPoint; // 0x11e8
Vector m_vLastTrailThinkerLocation; // 0x11f4
Vector m_vEndPointShard; // 0x1200
ParticleIndex_t m_nStatusFXIndex; // 0x120c
int32_t flare_radius; // 0x1210
bool bHasStartedBurning; // 0x1214
private:
[[maybe_unused]] uint8_t __pad1215[0x3]; // 0x1215
public:
float flare_debuff_duration; // 0x1218
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dawnbreaker_Celestial_Hammer_Caster : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Magic_Immunity_Tooltip : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 20
// Size: 0x1230
class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Caster : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t shard_movement_penalty; // 0x11dc
int32_t swipe_radius; // 0x11e0
int32_t swipe_damage; // 0x11e4
int32_t smash_radius; // 0x11e8
int32_t smash_damage; // 0x11ec
int32_t m_nCurrentSpeed; // 0x11f0
float flSwipeInterval; // 0x11f4
GameTime_t m_flNextHit; // 0x11f8
int32_t iCurrentAttack; // 0x11fc
int32_t total_attacks; // 0x1200
float smash_stun_duration; // 0x1204
float sweep_stun_duration; // 0x1208
bool m_bHasCompletedMove; // 0x120c
private:
[[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d
public:
float duration; // 0x1210
Vector m_vTargetHorizontalDirection; // 0x1214
int32_t smash_distance_from_hero; // 0x1220
float animation_rate; // 0x1224
float turn_rate; // 0x1228
float m_flFacingTarget; // 0x122c
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Attack_Bonus : public CDOTA_Buff
{
public:
int32_t attack_damage; // 0x11d8
int32_t creep_damage_penalty; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Slow : public CDOTA_Buff
{
public:
int32_t swipe_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dawnbreaker_Fire_Wreath_Smash_Stun : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Dawnbreaker_Converge : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
int32_t burn_damage; // 0x11dc
float burn_interval; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Marci_Grapple_VictimMotion : public CDOTA_Buff
{
public:
int32_t impact_damage; // 0x11d8
float debuff_duration; // 0x11dc
int32_t landing_radius; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Marci_Dispose_Debuff : public CDOTA_Buff
{
public:
int32_t movement_slow_pct; // 0x11d8
};
// Alignment: 12
// Size: 0x1210
class CDOTA_Modifier_Marci_Lunge_TrackingMotion : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
int32_t m_nMaxJumpDistance; // 0x11dc
int32_t landing_radius; // 0x11e0
int32_t max_jump_distance; // 0x11e4
int32_t min_jump_distance; // 0x11e8
int32_t target_abort_distance; // 0x11ec
int32_t impact_position_offset; // 0x11f0
float m_flCastDistance; // 0x11f4
ParticleIndex_t m_nAoEFXIndex; // 0x11f8
Vector m_vDestination; // 0x11fc
CHandle< C_BaseEntity > m_hBounceEntity; // 0x1208
CHandle< C_BaseEntity > m_hBounceEntityClient; // 0x120c
};
// Alignment: 15
// Size: 0x1218
class CDOTA_Modifier_Marci_Lunge_Arc : public CDOTA_Buff
{
public:
bool m_bTriggeredLandingAnim; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t m_nMaxJumpDistance; // 0x11dc
int32_t min_jump_distance; // 0x11e0
int32_t max_jump_distance; // 0x11e4
float min_lob_travel_time; // 0x11e8
float max_lob_travel_time; // 0x11ec
int32_t landing_radius; // 0x11f0
float debuff_duration; // 0x11f4
float min_height_above_lowest; // 0x11f8
float min_height_above_highest; // 0x11fc
float min_acceleration; // 0x1200
float max_acceleration; // 0x1204
float impact_damage; // 0x1208
int32_t impact_position_offset; // 0x120c
float ally_buff_duration; // 0x1210
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Marci_Lunge_LandingAnim : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Marci_CompanionRun_AllyMovespeed : public CDOTA_Buff
{
public:
float ally_movespeed_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Marci_Lunge_Debuff : public CDOTA_Buff
{
public:
int32_t movement_slow_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Marci_Lunge_Buff : public CDOTA_Buff
{
public:
int32_t scepter_armor; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Marci_Guardian_Buff : public CDOTA_Buff
{
public:
float lifesteal_pct; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t bonus_attack_range; // 0x11e0
float m_fLifestealPct; // 0x11e4
float m_fDamageAbsorbed; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Marci_Unleash_Pull : public CDOTA_Buff
{
public:
int32_t shard_push_length; // 0x11d8
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Marci_Unleash : public CDOTA_Buff
{
public:
float time_between_flurries; // 0x11d8
int32_t charges_per_flurry; // 0x11dc
int32_t flurry_charge_increment; // 0x11e0
int32_t bonus_movespeed; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 9
// Size: 0x11f8
class CDOTA_Modifier_Marci_Unleash_Flurry : public CDOTA_Buff
{
public:
int32_t flurry_bonus_attack_speed; // 0x11d8
float time_between_flurries; // 0x11dc
float debuff_duration; // 0x11e0
float max_time_window_per_hit; // 0x11e4
bool m_bBonusSpeed; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x3]; // 0x11e9
public:
ParticleIndex_t m_nFXStackIndex; // 0x11ec
bool m_bIsDoingFlurryAttack; // 0x11f0
bool m_bIsDoingFlurryPulseAttack; // 0x11f1
private:
[[maybe_unused]] uint8_t __pad11f2[0x2]; // 0x11f2
public:
GameTime_t m_fLastAttackTime; // 0x11f4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Marci_Unleash_FlurryCooldown : public CDOTA_Buff
{
public:
int32_t charges_per_flurry; // 0x11d8
float time_between_flurries; // 0x11dc
float recovery_fixed_attack_rate; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Marci_Unleash_FlurryPulse_Debuff : public CDOTA_Buff
{
public:
float pulse_move_slow_pct; // 0x11d8
float pulse_attack_slow_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Marci_Guardian_MagicImmunity : public CDOTA_Modifier_DebuffImmune
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Marci_Unleash_Pulse_Silence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Primalbeast_Trample : public CDOTA_Buff
{
public:
int32_t effect_radius; // 0x11d8
Vector vLastPos; // 0x11dc
float flCurrentDistance; // 0x11e8
int32_t step_distance; // 0x11ec
int32_t bonus_magic_resistance; // 0x11f0
bool m_bIsUnslowable; // 0x11f4
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_PrimalBeast_Pulverize : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
float m_flOffset; // 0x11dc
QAngle m_vStartAngles; // 0x11e0
Vector m_vStartLocation; // 0x11ec
float animation_rate; // 0x11f8
bool m_bInterrupted; // 0x11fc
bool m_bHasBeenDestroyed; // 0x11fd
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_PrimalBeast_Pulverize_Self : public CDOTA_Buff
{
public:
CHandle< C_DOTA_BaseNPC > m_hTarget; // 0x11d8
Vector m_vPulverizeCenter; // 0x11dc
Vector m_vCasterStartPos; // 0x11e8
int32_t splash_radius; // 0x11f4
float interval; // 0x11f8
float ministun; // 0x11fc
int32_t damage; // 0x1200
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_PrimalBeast_Onslaught_Windup : public CDOTA_Buff
{
public:
int32_t max_distance; // 0x11d8
float max_charge_time; // 0x11dc
float turn_rate; // 0x11e0
float base_power; // 0x11e4
int32_t charge_speed; // 0x11e8
};
// Alignment: 10
// Size: 0x1218
class CDOTA_Modifier_PrimalBeast_Onslaught_Movement : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
float charge_speed; // 0x11dc
float movement_turn_rate; // 0x11e0
int32_t knockback_radius; // 0x11e4
float knockback_distance; // 0x11e8
int32_t knockback_damage; // 0x11ec
int32_t m_nEnemyHeroesHit; // 0x11f0
float m_flFacingTarget; // 0x11f4
ParticleIndex_t m_nFXIndex; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1200
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PrimalBeast_Onslaught_Knockback : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 12
// Size: 0x1220
class CDOTA_Modifier_PrimalBeast_Uproar : public CDOTA_Modifier_Stacking_Base
{
public:
int32_t stack_limit; // 0x11d8
int32_t damage_limit; // 0x11dc
float stack_duration; // 0x11e0
float damage_min; // 0x11e4
float damage_max; // 0x11e8
int32_t bonus_damage_per_stack; // 0x11ec
ParticleIndex_t m_nFxIndexA; // 0x11f0
int32_t iCur_stack; // 0x11f4
int32_t bonus_damage; // 0x11f8
float slow_duration; // 0x11fc
private:
[[maybe_unused]] uint8_t __pad1200[0x18]; // 0x1200
public:
float m_fTotalDamage; // 0x1218
GameTime_t m_flLastStackTime; // 0x121c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PrimalBeast_Uproar_Slow : public CDOTA_Buff
{
public:
int32_t move_slow_per_stack; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_PrimalBeast_Uproar_Roared_Self : public CDOTA_Buff
{
public:
int32_t roared_bonus_attack_speed; // 0x11d8
int32_t roared_bonus_armor; // 0x11dc
int32_t m_nBuffStackCount; // 0x11e0
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Primal_Beast_Uproar_Projectile_Thinker : public CDOTA_Buff
{
public:
int32_t projectiles_per_stack; // 0x11d8
int32_t projectile_speed; // 0x11dc
int32_t projectile_distance; // 0x11e0
int32_t projectile_width; // 0x11e4
int32_t splinter_angle; // 0x11e8
float split_delay; // 0x11ec
int32_t projectile_waves; // 0x11f0
int32_t m_nCurrentWaveCount; // 0x11f4
int32_t tectonic_shift_projectiles; // 0x11f8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Muerta_Gunslinger : public CDOTA_Buff
{
public:
float double_shot_chance; // 0x11d8
float target_search_bonus_range; // 0x11dc
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Muerta_PierceTheVeil : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Muerta_DeadShot_Slow : public CDOTA_Buff
{
public:
int32_t impact_slow_percent; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Muerta_DeadShot_Fear : public CDOTA_Buff
{
public:
Vector m_vFearDir; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_PierceTheVeilTransform : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Muerta_PierceTheVeil_Buff : public CDOTA_Buff
{
public:
int32_t modelscale; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t spell_lifesteal; // 0x11e0
int32_t attack_projectile_speed_bonus; // 0x11e4
int32_t attack_range_bonus; // 0x11e8
int32_t m_iOriginalAttackCapabilities; // 0x11ec
ParticleIndex_t m_nScreenFXIndex; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_PierceTheVeil_MagicImmunityDamageCancel : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_PierceTheVeil_SpellAmpBoost : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_TheCalling_Invulnerable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 13
// Size: 0x1238
class CDOTA_Modifier_Muerta_Revenant_Thinker : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t hit_radius; // 0x11dc
int32_t dead_zone_distance; // 0x11e0
float speed_initial; // 0x11e4
float speed_max; // 0x11e8
float acceleration; // 0x11ec
int32_t num_revenants; // 0x11f0
int32_t rotation_direction; // 0x11f4
int32_t radius; // 0x11f8
float rotation_initial; // 0x11fc
int32_t show_warning; // 0x1200
ParticleIndex_t m_nWarningFX; // 0x1204
CUtlVector< sRevenantDef > m_SpiritDefs; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Muerta_TheCallingAuraSlow : public CDOTA_Buff
{
public:
int32_t aura_movespeed_slow; // 0x11d8
int32_t aura_attackspeed_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_TheCalling_Silence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1208
class CDOTA_Modifier_Muerta_PartingShot_Knockback : public CDOTA_Modifier_Knockback
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Muerta_PartingShot_SoulClone : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Muerta_PartingShot_SoulDebuff : public CDOTA_Buff
{
public:
int32_t ethereal_damage_bonus; // 0x11d8
int32_t movement_slow; // 0x11dc
CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11e0
ParticleIndex_t m_nTetherFXIndex; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Muerta_PartingShot_ProjectileReturn : public CDOTA_Buff
{
public:
int32_t m_nProjectileHandle; // 0x11d8
CHandle< C_BaseEntity > m_hPhysicalBody; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Bracer : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t clock_time; // 0x11e4
float bonus_health_regen; // 0x11e8
int32_t bonus_damage; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Gauntlets : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Circlet : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Slippers : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_WraithBand : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
int32_t clock_time; // 0x11e8
float bonus_armor; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Mantle : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_NullTalisman : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
float bonus_mana_regen; // 0x11e4
int32_t bonus_max_mana_percentage; // 0x11e8
int32_t clock_time; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_TangoHeal : public CDOTA_Buff
{
public:
float health_regen; // 0x11d8
bool superheal; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
float m_fHealingDone; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ClarityPotion : public CDOTA_Buff
{
public:
float mana_regen; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_FlaskHealing : public CDOTA_Buff
{
public:
int32_t health_regen; // 0x11d8
int32_t break_on_hero_damage; // 0x11dc
float m_fHealingDone; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BootsOfSpeed : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BootsOfTravel : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Item_BootsOfTravel_2 : public CDOTA_Modifier_Item_BootsOfTravel
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_BootsOfTravel_Incoming : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_PowerTreads : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed_ranged; // 0x11d8
int32_t bonus_movement_speed_melee; // 0x11dc
int32_t bonus_attack_speed; // 0x11e0
int32_t bonus_stat; // 0x11e4
int32_t bonus_damage; // 0x11e8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_PhaseBoots : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_damage_melee; // 0x11dc
int32_t bonus_damage_range; // 0x11e0
int32_t damage_block_melee; // 0x11e4
int32_t damage_block_ranged; // 0x11e8
int32_t block_chance; // 0x11ec
int32_t bonus_attack_speed; // 0x11f0
int32_t bonus_armor; // 0x11f4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_PhaseBoots_Active : public CDOTA_Buff
{
public:
int32_t phase_movement_speed; // 0x11d8
int32_t phase_movement_speed_range; // 0x11dc
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_TranquilBoots : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t broken_movement_speed; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t bonus_health_regen; // 0x11e4
int32_t break_threshold; // 0x11e8
int32_t break_time; // 0x11ec
int32_t break_count; // 0x11f0
float m_flResetTime; // 0x11f4
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_TranquilBoots2 : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t broken_movement_speed; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t bonus_health_regen; // 0x11e4
int32_t break_threshold; // 0x11e8
int32_t break_time; // 0x11ec
int32_t break_count; // 0x11f0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Hermes_Sandals : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_damage_melee; // 0x11dc
int32_t bonus_damage_range; // 0x11e0
int32_t bonus_armor; // 0x11e4
int32_t bonus_agility; // 0x11e8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Hermes_Sandals_Active : public CDOTA_Buff
{
public:
int32_t phase_movement_speed; // 0x11d8
int32_t phase_movement_speed_range; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
bool m_bWasRooted; // 0x11e4
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Samurai_Tabi : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_all_stats; // 0x11e0
int32_t bonus_damage; // 0x11e4
};
// Alignment: 11
// Size: 0x1218
class CDOTA_Modifier_Item_Samurai_Tabi_Str : public CDOTA_Buff_Item
{
public:
int32_t stat_per_tick; // 0x11d8
int32_t bonus_all_stats; // 0x11dc
float base_interval; // 0x11e0
int32_t max_tick_count; // 0x11e4
float str_root_duration; // 0x11e8
float str_root_cooldown; // 0x11ec
int32_t str_root_chance; // 0x11f0
float str_bonus_damage; // 0x11f4
int32_t iCurrentTickCount; // 0x11f8
GameTime_t m_flLastRootTime; // 0x11fc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_Samurai_Tabi_Agi : public CDOTA_Buff_Item
{
public:
int32_t stat_per_tick; // 0x11d8
float base_interval; // 0x11dc
int32_t max_tick_count; // 0x11e0
int32_t bonus_all_stats; // 0x11e4
int32_t agi_counter_chance; // 0x11e8
float agi_counter_cooldown; // 0x11ec
GameTime_t m_flLastCounterTime; // 0x11f0
int32_t iCurrentTickCount; // 0x11f4
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Item_Samurai_Tabi_Int : public CDOTA_Buff_Item
{
public:
int32_t stat_per_tick; // 0x11d8
float base_interval; // 0x11dc
int32_t max_tick_count; // 0x11e0
float int_damage_interval; // 0x11e4
float int_damage_range; // 0x11e8
float int_damage; // 0x11ec
int32_t iCurrentTickCount; // 0x11f0
int32_t int_max_targets; // 0x11f4
GameTime_t m_flNextHit; // 0x11f8
int32_t bonus_all_stats; // 0x11fc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifer_Item_GlovesOfHaste : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BeltOfStrength : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_RobeOfMagi : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BootsOfElven : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BladesOfAttack : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_EmptyBottle : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_BottleRegeneration : public CDOTA_Buff
{
public:
int32_t health_restore; // 0x11d8
int32_t mana_restore; // 0x11dc
int32_t health_restore_pct; // 0x11e0
int32_t mana_restore_pct; // 0x11e4
int32_t break_on_hero_damage; // 0x11e8
float m_fHealingDone; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_DemonEdge : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_EagleHorn : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Reaver : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_SacredRelic : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Hyperstone : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfHealth : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_VoidStone : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_MysticStaff : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_EnergyBooster : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_PointBooster : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t bonus_health; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_VitalityBooster : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Broadsword : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Quarterstaff : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_speed; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Claymore : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfProtection : public CDOTA_Buff_Item
{
public:
float bonus_armor; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_StoutShield : public CDOTA_Buff_Item
{
public:
int32_t damage_block_melee; // 0x11d8
int32_t damage_block_ranged; // 0x11dc
int32_t block_chance; // 0x11e0
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_Javelin : public CDOTA_Buff_Item
{
public:
int32_t bonus_chance; // 0x11d8
int32_t bonus_chance_damage; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_MithrilHammer : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_ChainMail : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_HelmOfIronWill : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
float bonus_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_PlateMail : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_QuellingBlade : public CDOTA_Buff_Item
{
public:
int32_t damage_bonus; // 0x11d8
int32_t damage_bonus_ranged; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_IronwoodBranch : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_OgreAxe : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BladeOfAlacrity : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_StaffOfWizardry : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_UltimateOrb : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_MaskOfDeath : public CDOTA_Buff_Item
{
public:
int32_t lifesteal_percent; // 0x11d8
int32_t creep_lifesteal_reduction_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfRegeneration : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_BlinkDagger : public CDOTA_Buff_Item
{
public:
float blink_damage_cooldown; // 0x11d8
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Item_SuperBlinkDagger : public CDOTA_Modifier_Item_BlinkDagger
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_SobiMask : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_GemOfTrueSight : public CDOTA_Buff_Item
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Gem_Active_TrueSight : public CDOTA_Buff
{
public:
int32_t active_radius; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_PlaneswalkersCloak : public CDOTA_Buff_Item
{
public:
int32_t bonus_magical_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_MagicStick : public CDOTA_Buff_Item
{
public:
int32_t charge_radius; // 0x11d8
int32_t max_charges; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_MagicWand : public CDOTA_Buff_Item
{
public:
int32_t charge_radius; // 0x11d8
int32_t max_charges; // 0x11dc
int32_t bonus_all_stats; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_TalismanOfEvasion : public CDOTA_Buff_Item
{
public:
int32_t bonus_evasion; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_GhostScepter : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_GhostScepter_Active : public CDOTA_Buff
{
public:
int32_t extra_spell_damage_percent; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_HandOfMidas : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_OblivionStaff : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
float bonus_mana_regen; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Perseverance : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_PoorMansShield : public CDOTA_Buff_Item
{
public:
int32_t damage_block_melee; // 0x11d8
int32_t damage_block_ranged; // 0x11dc
int32_t block_chance; // 0x11e0
int32_t bonus_agility; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_DustofAppearance_Thinker : public CDOTA_Buff
{
public:
float radius; // 0x11d8
float duration; // 0x11dc
float linger_duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_DustofAppearance : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Buff_Wards : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_ObserverWard : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_SentryWard : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_WardTrueSight : public CDOTA_Buff
{
public:
int32_t true_sight_range; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_DivineRapier : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Item_MonkeyKingBar : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_chance; // 0x11dc
int32_t bonus_chance_damage; // 0x11e0
int32_t bonus_damage; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Radiance : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t evasion; // 0x11dc
int32_t upgrade_day_vision; // 0x11e0
int32_t aura_radius; // 0x11e4
};
// Alignment: 4
// Size: 0x11f0
class CDOTA_Modifier_Item_Radiance_Debuff : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t aura_damage; // 0x11e0
int32_t aura_damage_upgrade_bonus; // 0x11e4
int32_t aura_damage_illusions; // 0x11e8
int32_t blind_pct; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Butterfly_Extra : public CDOTA_Buff
{
public:
int32_t bonus_move_speed; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Butterfly : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_evasion; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_GreaterCritical : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t crit_chance; // 0x11dc
int32_t crit_multiplier; // 0x11e0
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Item_CraniumBasher : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bash_chance_melee; // 0x11dc
int32_t bash_chance_ranged; // 0x11e0
float bash_duration; // 0x11e4
float bash_cooldown; // 0x11e8
int32_t bonus_chance_damage; // 0x11ec
int32_t bonus_damage; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
};
// Alignment: 13
// Size: 0x1228
class CDOTA_Modifier_Item_AbyssalBlade : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bash_chance_melee; // 0x11dc
int32_t bash_chance_ranged; // 0x11e0
float bash_duration; // 0x11e4
float bash_cooldown; // 0x11e8
int32_t bonus_chance_damage; // 0x11ec
int32_t bonus_damage; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
int32_t bonus_health; // 0x1210
float bonus_health_regen; // 0x1214
int32_t block_damage_ranged; // 0x1218
int32_t block_damage_melee; // 0x121c
int32_t block_chance; // 0x1220
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_Item_Battlefury : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
float bonus_health_regen; // 0x11dc
float bonus_mana_regen; // 0x11e0
int32_t cleave_damage_percent; // 0x11e4
int32_t cleave_damage_percent_creep; // 0x11e8
int32_t cleave_starting_width; // 0x11ec
int32_t cleave_ending_width; // 0x11f0
int32_t cleave_distance; // 0x11f4
int32_t upgraded_cleave_bonus; // 0x11f8
int32_t upgraded_damage_bonus; // 0x11fc
int32_t quelling_bonus; // 0x1200
int32_t quelling_bonus_ranged; // 0x1204
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_MantaStyle : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t bonus_agility; // 0x11e0
int32_t bonus_intellect; // 0x11e4
int32_t bonus_movement_speed; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Manta_Phase : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Manta : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_LesserCritical : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t crit_chance; // 0x11dc
int32_t crit_multiplier; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Armlet : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t bonus_health_regen; // 0x11e4
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Armlet_UnholyStrength : public CDOTA_Buff
{
public:
int32_t unholy_bonus_damage; // 0x11d8
int32_t unholy_bonus_attack_speed; // 0x11dc
int32_t unholy_bonus_strength; // 0x11e0
int32_t unholy_bonus_armor; // 0x11e4
int32_t unholy_health_drain_per_second; // 0x11e8
int32_t str_tick_count; // 0x11ec
float tick_interval; // 0x11f0
float m_flDamageRemainder; // 0x11f4
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_InvisibilityEdge : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_damage; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_InvisibilityEdge_WindWalk : public CDOTA_Modifier_Invisible
{
public:
int32_t windwalk_bonus_damage; // 0x11e8
int32_t windwalk_movement_speed; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_SheepStick : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
float bonus_mana_regen; // 0x11e4
int32_t bonus_mana; // 0x11e8
int32_t cast_range_bonus; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SheepStick_Debuff : public CDOTA_Modifier_Hexed
{
public:
float sheep_movement_speed; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_OrchidMalevolence : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
float bonus_mana_regen; // 0x11dc
float bonus_health_regen; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t bonus_attack_speed; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_OrchidMalevolence_Debuff : public CDOTA_Buff
{
public:
float silence_damage_percent; // 0x11d8
float m_flDamageTaken; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_RodOfAtos : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_RodOfAtos_Debuff : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Cyclone : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_movement_speed; // 0x11e0
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Eul_Cyclone : public CDOTA_Modifier_Cyclone
{
public:
CHandle< C_BaseEntity > m_hBlocker; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Eul_Cyclone_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_ForceStaff : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_intellect; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ForceStaff : public CDOTA_Buff
{
public:
float push_length; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Dagon : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Dagon : public CDOTA_Buff_Item
{
public:
int32_t bonus_int; // 0x11d8
int32_t bonus_str; // 0x11dc
int32_t bonus_agi; // 0x11e0
float passive_spell_lifesteal; // 0x11e4
float dagon_spell_lifesteal; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_RefresherOrb : public CDOTA_Buff_Item
{
public:
int32_t bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_UltimateScepter : public CDOTA_Buff_Item
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t bonus_all_stats; // 0x11dc
int32_t bonus_health; // 0x11e0
int32_t bonus_mana; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_UltimateScepter_Consumed : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_UltimateScepter_Consumed_Alchemist : public CDOTA_Modifier_Item_UltimateScepter_Consumed
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t bonus_all_stats; // 0x11dc
int32_t bonus_health; // 0x11e0
int32_t bonus_mana; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Assault_Cuirass_Positive_Aura : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Assault_Cuirass_Positive : public CDOTA_Buff
{
public:
int32_t aura_attack_speed; // 0x11d8
int32_t aura_positive_armor; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor_Aura : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Assault_Cuirass_Negative_Armor : public CDOTA_Buff
{
public:
int32_t aura_negative_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Assault_Cuirass : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Heart : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_health; // 0x11dc
float health_regen_pct; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Black_King_Bar_Immune : public CDOTA_Modifier_DebuffImmune
{
public:
int32_t model_scale; // 0x11d8
int32_t magic_resist; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Black_King_Bar : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_damage; // 0x11dc
float duration; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Aegis : public CDOTA_Buff_Item
{
public:
float reincarnate_time; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aegis_Regen : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Shivas_Guard : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t bonus_armor; // 0x11dc
int32_t aura_radius; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Shivas_Guard_Aura : public CDOTA_Buff
{
public:
int32_t aura_attack_speed; // 0x11d8
int32_t hp_regen_degen_aura; // 0x11dc
};
// Alignment: 8
// Size: 0x1220
class CDOTA_Modifier_Item_Shivas_Guard_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
CountdownTimer m_ViewerTimer; // 0x11f8
int32_t blast_speed; // 0x1210
int32_t blast_radius; // 0x1214
int32_t blast_damage; // 0x1218
float blast_debuff_duration; // 0x121c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Shivas_Guard_Blast : public CDOTA_Buff
{
public:
int32_t blast_movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Bloodstone_Active : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Bloodstone : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
float spell_lifesteal; // 0x11e0
float lifesteal_multiplier; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Bloodstone_Drained : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Sange : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t hp_regen_amp; // 0x11dc
int32_t status_resistance; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Yasha : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t movement_speed_percent_bonus; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_SangeAndYasha : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t movement_speed_percent_bonus; // 0x11e0
int32_t bonus_strength; // 0x11e4
int32_t hp_regen_amp; // 0x11e8
int32_t status_resistance; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_MaskOfMadness : public CDOTA_Buff_Item
{
public:
int32_t lifesteal_percent; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t creep_lifesteal_reduction_pct; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_MaskOfMadness_Berserk : public CDOTA_Buff
{
public:
int32_t berserk_bonus_attack_speed; // 0x11d8
int32_t berserk_bonus_movement_speed; // 0x11dc
int32_t berserk_armor_reduction; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Sphere : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
float bonus_health_regen; // 0x11dc
float bonus_mana_regen; // 0x11e0
int32_t bonus_damage; // 0x11e4
float block_cooldown; // 0x11e8
float upgrade_absorb_duration; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Sphere_Target : public CDOTA_Buff_Item
{
public:
float upgrade_absorb_duration; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Sphere_Upgrade_Absorb : public CDOTA_Buff
{
public:
int32_t damage_absorb; // 0x11d8
bool m_bStartedTimer; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd
public:
int32_t m_flDamageAbsorbed; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Vanguard : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float bonus_health_regen; // 0x11dc
int32_t block_damage_ranged; // 0x11e0
int32_t block_damage_melee; // 0x11e4
int32_t block_chance; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Crimson_Guard_Extra : public CDOTA_Buff
{
public:
int32_t block_chance_active; // 0x11d8
int32_t block_damage_active; // 0x11dc
int32_t strength_pct; // 0x11e0
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_Crimson_Guard : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float bonus_health_regen; // 0x11dc
float bonus_armor; // 0x11e0
int32_t block_damage_ranged; // 0x11e4
int32_t block_damage_melee; // 0x11e8
int32_t block_chance; // 0x11ec
int32_t bonus_aoe_radius; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Crimson_Guard_NoStack : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Blade_Mail_Reflect : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Blade_Mail : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_armor; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t passive_reflection_constant; // 0x11e4
int32_t passive_reflection_pct; // 0x11e8
int32_t active_reflection_pct; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Soul_Booster : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t bonus_magical_armor; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Hood_Of_Defiance_Barrier : public CDOTA_Buff
{
public:
int32_t barrier_block; // 0x11d8
int32_t barrier_amount; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Hood_Of_Defiance : public CDOTA_Buff_Item
{
public:
int32_t bonus_spell_resist; // 0x11d8
float bonus_health_regen; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Mekansm : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Mekansm_Aura : public CDOTA_Buff
{
public:
float aura_health_regen; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Mekansm_Noheal : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Vladmir : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Vladmir_Aura : public CDOTA_Buff
{
public:
int32_t lifesteal_aura; // 0x11d8
int32_t damage_aura; // 0x11dc
float armor_aura; // 0x11e0
float mana_regen_aura; // 0x11e4
int32_t creep_lifesteal_reduction_pct; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Buckler : public CDOTA_Buff_Item
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t bonus_aoe_radius; // 0x11dc
float armor; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Buckler_Effect : public CDOTA_Buff
{
public:
float bonus_aoe_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Ring_Of_Basilius : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
float mana_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ring_Of_Basilius_Effect : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Pipe : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
float health_regen; // 0x11dc
int32_t magic_resistance; // 0x11e0
int32_t aura_radius; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Pipe_Aura : public CDOTA_Buff
{
public:
float aura_health_regen; // 0x11d8
int32_t magic_resistance_aura; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Pipe_Barrier : public CDOTA_Buff
{
public:
int32_t barrier_amount; // 0x11d8
int32_t barrier_block; // 0x11dc
int32_t barrier_block_creep; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Pipe_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Urn_Of_Shadows : public CDOTA_Buff_Item
{
public:
float mana_regen; // 0x11d8
int32_t bonus_all_stats; // 0x11dc
float bonus_armor; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Urn_Heal : public CDOTA_Buff
{
public:
int32_t soul_heal_amount; // 0x11d8
float m_fHealingDone; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Urn_Damage : public CDOTA_Buff
{
public:
int32_t soul_damage_amount; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Headdress : public CDOTA_Buff_Item
{
public:
float health_regen; // 0x11d8
int32_t aura_radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Headdress_Aura : public CDOTA_Buff
{
public:
float aura_health_regen; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Satanic : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t lifesteal_percent; // 0x11e0
int32_t unholy_lifesteal_percent; // 0x11e4
int32_t creep_lifesteal_reduction_pct; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Satanic_Unholy : public CDOTA_Buff
{
public:
int32_t unholy_lifesteal_percent; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_HelmOfTheDominator : public CDOTA_Buff_Item
{
public:
int32_t bonus_stats; // 0x11d8
int32_t bonus_armor; // 0x11dc
float bonus_regen; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Item_HelmOfTheDominator_2 : public CDOTA_Modifier_Item_HelmOfTheDominator
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_HelmOfTheDominator_BonusHealth : public CDOTA_Buff
{
public:
int32_t health_min; // 0x11d8
int32_t new_max; // 0x11dc
int32_t health_bonus; // 0x11e0
int32_t model_scale; // 0x11e4
int32_t creep_bonus_damage; // 0x11e8
int32_t creep_bonus_hp_regen; // 0x11ec
int32_t creep_bonus_mp_regen; // 0x11f0
int32_t creep_bonus_armor; // 0x11f4
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Item_Desolator : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_damage_per_kill; // 0x11dc
int32_t bonus_damage_per_assist; // 0x11e0
int32_t max_damage; // 0x11e4
float corruption_duration; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Desolator_Corruption : public CDOTA_Buff
{
public:
int32_t corruption_armor; // 0x11d8
};
// Alignment: 10
// Size: 0x1228
class CDOTA_Modifier_Item_Revenants_Brooch : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
int32_t projectile_speed; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
int32_t mana_cost; // 0x11e8
int32_t slow_duration; // 0x11ec
int32_t damage_penalty; // 0x11f0
int32_t passive_cooldown; // 0x11f4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
CUtlVector< int16 > m_InFlightWitchBladeAttackRecords; // 0x1210
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Revenants_Brooch_InternalCD : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Revenants_Brooch_Counter : public CDOTA_Buff
{
public:
float active_attack_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Misery_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_EagleEye : public CDOTA_Buff_Item
{
public:
int32_t radius; // 0x11d8
int32_t bonus_agi; // 0x11dc
};
// Alignment: 11
// Size: 0x1218
class CDOTA_Modifier_Item_Tenderizer : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bash_chance_melee; // 0x11e0
int32_t bash_chance_ranged; // 0x11e4
float bash_duration; // 0x11e8
float bash_cooldown; // 0x11ec
int32_t bonus_chance_damage; // 0x11f0
int32_t bonus_damage; // 0x11f4
int32_t weaken_per_hit; // 0x11f8
float weaken_duration; // 0x11fc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Tenderizer_Weaken : public CDOTA_Modifier_Stacking_Base
{
public:
int32_t weaken_per_hit; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Boots_Of_Bearing : public CDOTA_Buff_Item
{
public:
int32_t radius; // 0x11d8
int32_t bonus_movement_speed; // 0x11dc
int32_t bonus_health_regen; // 0x11e0
int32_t bonus_str; // 0x11e4
int32_t bonus_int; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Boots_Of_Bearing_Aura : public CDOTA_Buff
{
public:
int32_t aura_movement_speed; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Boots_Of_Bearing_Active : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed_pct; // 0x11d8
int32_t bonus_movement_speed_pct; // 0x11dc
float bonus_ms_duration; // 0x11e0
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Item_VoidwalkerScythe : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t attacks; // 0x11dc
int32_t bonus_damage; // 0x11e0
float buff_duration; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
int32_t m_nCounter; // 0x1200
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_Voidwalker_Phased : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
float max_damage_duration; // 0x11dc
int32_t attack_range_bonus; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
bool bAttackRange; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
float m_flStartTime; // 0x1204
float m_flFadeTime; // 0x1208
float m_flDamageScale; // 0x120c
float duration; // 0x1210
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_WraithPact : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t bonus_health; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_WraithPact_Thinker : public CDOTA_Buff
{
public:
int32_t pact_aura_radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
float aura_dps; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_WraithPact_DeathAura : public CDOTA_Buff
{
public:
int32_t armor_penalty_aura; // 0x11d8
int32_t damage_penalty_aura; // 0x11dc
float aura_dps; // 0x11e0
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Item_Skadi : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t bonus_health; // 0x11dc
int32_t bonus_mana; // 0x11e0
float cold_duration; // 0x11e4
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Skadi_Slow : public CDOTA_Buff
{
public:
int32_t cold_slow_melee; // 0x11d8
int32_t cold_attack_slow_melee; // 0x11dc
int32_t cold_slow_ranged; // 0x11e0
int32_t cold_attack_slow_ranged; // 0x11e4
int32_t heal_reduction; // 0x11e8
};
// Alignment: 8
// Size: 0x1218
class CDOTA_Modifier_MjollnirChain : public CDOTA_Buff
{
public:
int32_t chain_radius; // 0x11d8
int32_t chain_strikes; // 0x11dc
int32_t chain_damage; // 0x11e0
float chain_delay; // 0x11e4
int32_t chain_damage_per_charge; // 0x11e8
int32_t m_iCurJumpCount; // 0x11ec
Vector m_vCurTargetLoc; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x1200
};
// Alignment: 11
// Size: 0x1230
class CDOTA_Modifier_Item_Mjollnir : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t chain_chance; // 0x11e0
int32_t chain_strikes; // 0x11e4
int32_t chain_damage; // 0x11e8
int32_t chain_radius; // 0x11ec
int32_t chain_damage_per_charge; // 0x11f0
int32_t max_charges; // 0x11f4
float chain_cooldown; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200
CountdownTimer m_ChainTimer; // 0x1218
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Item_Mjollnir_Static : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t static_chance; // 0x11e0
int32_t static_strikes; // 0x11e4
int32_t static_damage; // 0x11e8
int32_t static_primary_radius; // 0x11ec
int32_t static_seconary_radius; // 0x11f0
int32_t static_radius; // 0x11f4
float static_cooldown; // 0x11f8
int32_t chain_damage_per_charge; // 0x11fc
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_MaelstromChain : public CDOTA_Buff
{
public:
int32_t chain_radius; // 0x11d8
int32_t chain_strikes; // 0x11dc
int32_t chain_damage; // 0x11e0
float chain_delay; // 0x11e4
int32_t m_iCurJumpCount; // 0x11e8
Vector m_vCurTargetLoc; // 0x11ec
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8
};
// Alignment: 8
// Size: 0x1220
class CDOTA_Modifier_Item_Maelstrom : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t chain_chance; // 0x11dc
int32_t chain_strikes; // 0x11e0
int32_t chain_damage; // 0x11e4
int32_t chain_radius; // 0x11e8
float chain_cooldown; // 0x11ec
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0
CountdownTimer m_ChainTimer; // 0x1208
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Diffusal_Blade : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_intellect; // 0x11dc
float damage_per_burn; // 0x11e0
int32_t feedback_mana_burn; // 0x11e4
int32_t feedback_mana_burn_illusion_melee; // 0x11e8
int32_t feedback_mana_burn_illusion_ranged; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Diffusal_Blade_Slow : public CDOTA_Buff
{
public:
int32_t purge_rate; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Ethereal_Blade : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t spell_amp; // 0x11e4
int32_t spell_lifesteal_amp; // 0x11e8
int32_t mana_regen_multiplier; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ethereal_Blade_Ethereal : public CDOTA_Buff
{
public:
int32_t ethereal_damage_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ethereal_Blade_Slow : public CDOTA_Buff
{
public:
int32_t blast_movement_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Soul_Ring : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
float bonus_armor; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Soul_Ring_Buff : public CDOTA_Buff
{
public:
int32_t m_iTempExtraMaxMana; // 0x11d8
int32_t m_iManaToRemove; // 0x11dc
float duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Necronomicon : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
float bonus_mana_regen; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Necronomicon_2 : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t aura_radius; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Necronomicon_3 : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t aura_radius; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Necronomicon_Mana_Aura : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_2 : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Necronomicon_Mana_Aura_3 : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necronomicon_Warrior_ManaBurn : public CDOTA_Buff
{
public:
int32_t burn_amount; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necronomicon_Warrior_LastWill : public CDOTA_Buff
{
public:
int32_t explosion; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necronomicon_Warrior_Sight : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necronomicon_Archer_Purge : public CDOTA_Buff
{
public:
int32_t purge_rate; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Necronomicon_Archer_AoE : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Necronomicon_Archer_Aura : public CDOTA_Buff
{
public:
int32_t ms_bonus; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Royale_With_Cheese : public CDOTA_Buff
{
public:
float shield; // 0x11d8
float regen; // 0x11dc
float idle; // 0x11e0
int32_t m_nDamageAbsorbed; // 0x11e4
GameTime_t m_timeLastTick; // 0x11e8
GameTime_t m_timeLastDamage; // 0x11ec
ParticleIndex_t nFXIndex; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Arcane_Boots : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement; // 0x11d8
int32_t bonus_mana; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ArcaneBoots_ManaRegen : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Orb_of_Venom : public CDOTA_Buff_Item
{
public:
int32_t poison_movement_speed_melee; // 0x11d8
int32_t poison_movement_speed_range; // 0x11dc
float poison_duration; // 0x11e0
float poison_damage_melee; // 0x11e4
float poison_damage_range; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Orb_of_Venom_Slow : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float slow; // 0x11dc
float damage; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Ancient_Janggo : public CDOTA_Buff_Item
{
public:
int32_t radius; // 0x11d8
int32_t bonus_str; // 0x11dc
int32_t bonus_int; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ancient_Janggo_Aura : public CDOTA_Buff
{
public:
int32_t aura_movement_speed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Ancient_Janggo_Active : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed_pct; // 0x11d8
int32_t bonus_movement_speed_pct; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Medallion_Of_Courage : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
float bonus_mana_regen_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Addition : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Medallion_Of_Courage_Armor_Reduction : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Smoke_Of_Deceit : public CDOTA_Modifier_Invisible
{
public:
int32_t bonus_movement_speed; // 0x11e8
int32_t visibility_radius; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Veil_Of_Discord_Thinker : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t debuff_radius; // 0x11dc
float resist_debuff_duration; // 0x11e0
int32_t m_nHeroesHit; // 0x11e4
bool m_bHitInvisibleHero; // 0x11e8
bool m_bFirstPulse; // 0x11e9
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Veil_Of_Discord : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
int32_t bonus_all_stats; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Veil_Of_Discord_Mana : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Veil_Of_Discord_Debuff : public CDOTA_Buff
{
public:
int32_t spell_amp; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_HeavensHalberd : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t hp_regen_amp; // 0x11dc
int32_t bonus_evasion; // 0x11e0
int32_t status_resistance; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_HeavensHalberd_Debuff : public CDOTA_Buff
{
public:
bool m_bPierceDebuffImmunity; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfAquila_Aura : public CDOTA_Buff_Item
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t aura_radius; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfAquila_Aura_Bonus : public CDOTA_Buff
{
public:
int32_t aura_bonus_armor; // 0x11d8
float aura_mana_regen; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_RingOfAquila : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_agility; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t bonus_armor; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_ShadowAmulet_Fade : public CDOTA_Buff
{
public:
float fade_time; // 0x11d8
GameTime_t m_flFadeTime; // 0x11dc
bool m_bFaded; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Moonshard : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_night_vision; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Moonshard_Consumed : public CDOTA_Buff
{
public:
int32_t consumed_bonus; // 0x11d8
int32_t consumed_bonus_night_vision; // 0x11dc
};
// Alignment: 8
// Size: 0x1210
class CDOTA_Modifier_Item_Silver_Edge : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_attack_speed; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t crit_chance; // 0x11e8
int32_t crit_multiplier; // 0x11ec
float backstab_duration; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x4]; // 0x11f4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f8
};
// Alignment: 2
// Size: 0x11f0
class CDOTA_Modifier_Silver_Edge_WindWalk : public CDOTA_Modifier_Invisible
{
public:
int32_t windwalk_bonus_damage; // 0x11e8
int32_t windwalk_movement_speed; // 0x11ec
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Silver_Edge_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_GlimmerCape_Building_Limit : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_GlimmerCape : public CDOTA_Buff_Item
{
public:
int32_t bonus_magical_armor; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_GlimmerCape_Fade : public CDOTA_Buff
{
public:
int32_t active_movement_speed; // 0x11d8
int32_t barrier_block; // 0x11dc
int32_t barrier_amount; // 0x11e0
float initial_fade_delay; // 0x11e4
float secondary_fade_delay; // 0x11e8
float m_flFadeTime; // 0x11ec
float m_flCurentFadeDelay; // 0x11f0
GameTime_t m_flLastActionTime; // 0x11f4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Solar_Crest : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen_pct; // 0x11d8
int32_t bonus_armor; // 0x11dc
int32_t bonus_all_stats; // 0x11e0
int32_t self_movement_speed; // 0x11e4
ParticleIndex_t nFXIndex; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Solar_Crest_Armor_Addition : public CDOTA_Buff
{
public:
int32_t target_armor; // 0x11d8
int32_t target_attack_speed; // 0x11dc
int32_t target_movement_speed; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Solar_Crest_Armor_Reduction : public CDOTA_Buff
{
public:
int32_t target_armor; // 0x11d8
int32_t target_attack_speed; // 0x11dc
int32_t target_movement_speed; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ward_Dispenser : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Ward_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ward_Maker : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Guardian_Greaves : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t aura_radius; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Guardian_Greaves_Aura : public CDOTA_Buff
{
public:
float aura_health_regen; // 0x11d8
float aura_armor; // 0x11dc
float aura_health_regen_bonus; // 0x11e0
float aura_armor_bonus; // 0x11e4
int32_t aura_bonus_threshold; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Enchanted_Mango : public CDOTA_Buff_Item
{
public:
float hp_regen; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Lotus_Orb : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t bonus_mana; // 0x11e4
float block_cooldown; // 0x11e8
};
// Alignment: 1
// Size: 0x13b0
class CDOTA_Modifier_Item_Lotus_Orb_Active : public CDOTA_Buff
{
public:
CModifierParams m_LastParams; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Lotus_Orb_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f8
class CDOTA_Modifier_Item_Lotus_Orb_ChannelCheck : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hAbility; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
Vector m_vLocation; // 0x11e0
GameTime_t m_fChannelEnd; // 0x11ec
bool m_bInterrupt; // 0x11f0
bool m_bExpired; // 0x11f1
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Octarine_Core : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
float bonus_cooldown; // 0x11e0
float bonus_health_regen; // 0x11e4
float bonus_mana_regen; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Faerie_Fire : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_DragonLance : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t base_attack_range; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aether_Lens : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t cast_range_bonus; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Iron_Talon : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
float bonus_armor; // 0x11dc
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Item_Bloodthorn : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t bonus_attack_speed; // 0x11e4
int32_t spell_amp; // 0x11e8
int32_t mana_regen_multiplier; // 0x11ec
int32_t bonus_magic_resist; // 0x11f0
float duration; // 0x11f4
float bonus_health_regen; // 0x11f8
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Bloodthorn_Debuff : public CDOTA_Buff
{
public:
float target_crit_multiplier; // 0x11d8
float silence_damage_percent; // 0x11dc
float m_flDamageTaken; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_vRecords; // 0x11e8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_EchoSabre : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
float bonus_mana_regen; // 0x11e4
int32_t bonus_strength; // 0x11e8
float slow_duration; // 0x11ec
bool bonus_speed; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_EchoSabre_Debuff : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t attack_speed_slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Item_Blight_Stone : public CDOTA_Buff_Item
{
public:
float corruption_duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Blight_Stone_Corruption : public CDOTA_Buff
{
public:
int32_t corruption_armor; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_WindLace : public CDOTA_Buff_Item
{
public:
int32_t movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tome_Of_Knowledge : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tome_Of_Knowledge_Consumed : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Hurricane_Pike : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_intellect; // 0x11dc
int32_t bonus_agility; // 0x11e0
int32_t bonus_strength; // 0x11e4
int32_t base_attack_range; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hurricane_Pike_Active : public CDOTA_Buff
{
public:
float push_length; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Hurricane_Pike_Active_Alternate : public CDOTA_Buff
{
public:
float enemy_length; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Hurricane_Pike_Range : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t max_attacks; // 0x11dc
int32_t m_iNumAttacks; // 0x11e0
bool bActive; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t bonus_attack_speed; // 0x11e8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Infused_Raindrop : public CDOTA_Buff_Item
{
public:
float mana_regen; // 0x11d8
float bonus_armor; // 0x11dc
int32_t bonus_magical_armor; // 0x11e0
int32_t magic_damage_block; // 0x11e4
int32_t min_damage; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_MeteorHammer : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
float bonus_health_regen; // 0x11dc
float bonus_mana_regen; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_MeteorHammer_Land : public CDOTA_Buff
{
public:
int32_t impact_radius; // 0x11d8
float land_time; // 0x11dc
float burn_duration; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_MeteorHammer_Burn : public CDOTA_Buff
{
public:
int32_t burn_dps_buildings; // 0x11d8
int32_t burn_dps_units; // 0x11dc
float burn_interval; // 0x11e0
int32_t burn_slow; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Nullifier : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
int32_t bonus_regen; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Nullifier_Mute : public CDOTA_Buff
{
public:
float slow_interval_duration; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Nullifier_Slow : public CDOTA_Buff
{
public:
int32_t slow_pct; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Spirit_Vessel : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float bonus_mana_regen; // 0x11dc
float bonus_armor; // 0x11e0
int32_t bonus_all_stats; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Spirit_Vessel_Heal : public CDOTA_Buff
{
public:
int32_t soul_heal_amount; // 0x11d8
float m_fHealingDone; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Spirit_Vessel_Damage : public CDOTA_Buff
{
public:
int32_t hp_regen_reduction_enemy; // 0x11d8
int32_t soul_damage_amount; // 0x11dc
float enemy_hp_drain; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_AeonDisk : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t health_threshold_pct; // 0x11e0
float buff_duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_AeonDisk_Buff : public CDOTA_Buff
{
public:
int32_t status_resistance; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Kaya : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t spell_amp; // 0x11dc
int32_t mana_regen_multiplier; // 0x11e0
int32_t spell_lifesteal_amp; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Crown : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_Holy_Locket : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
int32_t bonus_health; // 0x11dc
int32_t bonus_mana; // 0x11e0
int32_t heal_increase; // 0x11e4
int32_t charge_radius; // 0x11e8
int32_t max_charges; // 0x11ec
int32_t bonus_all_stats; // 0x11f0
int32_t charge_gain_timer; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Holy_Locket_Aura : public CDOTA_Buff
{
public:
float aura_health_regen; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_Kaya_And_Sange : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t hp_regen_amp; // 0x11dc
int32_t bonus_intellect; // 0x11e0
int32_t spell_amp; // 0x11e4
int32_t mana_regen_multiplier; // 0x11e8
int32_t status_resistance; // 0x11ec
int32_t spell_lifesteal_amp; // 0x11f0
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_Yasha_And_Kaya : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t movement_speed_percent_bonus; // 0x11e0
int32_t bonus_intellect; // 0x11e4
int32_t spell_amp; // 0x11e8
int32_t mana_regen_multiplier; // 0x11ec
int32_t spell_lifesteal_amp; // 0x11f0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Yasha_And_Kaya_Maim : public CDOTA_Buff
{
public:
int32_t maim_slow_movement; // 0x11d8
int32_t maim_slow_attack; // 0x11dc
int32_t maim_slow_movement_range; // 0x11e0
int32_t maim_slow_attack_range; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_RingOfTarrasque : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
int32_t bonus_health; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Diadem : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_Blood_Grenade_Flight_Thinker : public CDOTA_Buff
{
public:
int32_t speed; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage_over_time; // 0x11e0
int32_t impact_damage; // 0x11e4
float debuff_duration; // 0x11e8
int32_t movespeed_slow; // 0x11ec
float tick_rate; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Blood_Grenade : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Blood_Grenade_Debuff : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
float damage_over_time; // 0x11dc
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_Item_Phylactery : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
float bonus_mana_regen; // 0x11e0
int32_t bonus_spell_damage; // 0x11e4
float slow_duration; // 0x11e8
int32_t bonus_all_stats; // 0x11ec
CUtlVector< C_DOTABaseAbility* > vecActivatedAbilities; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Phylactery_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Item_Disperser : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_intellect; // 0x11dc
int32_t bonus_attack_speed; // 0x11e0
int32_t bonus_damage; // 0x11e4
float bonus_mana_regen; // 0x11e8
float damage_per_burn; // 0x11ec
int32_t feedback_mana_burn; // 0x11f0
int32_t feedback_mana_burn_illusion_melee; // 0x11f4
int32_t feedback_mana_burn_illusion_ranged; // 0x11f8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Disperser_Evasion_Buff : public CDOTA_Buff
{
public:
int32_t purge_bonus_miss_rate; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Disperser_Attack_Debuff : public CDOTA_Buff
{
public:
int32_t attack_speed_slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Disperser_Movespeed_Buff : public CDOTA_Buff
{
public:
int32_t movement_speed_buff_rate; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Cornucopia : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Pavise : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_health; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Pavise_Shield : public CDOTA_Buff
{
public:
int32_t absorb_amount; // 0x11d8
int32_t m_nAbsorbRemaining; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Keen_Optic : public CDOTA_Buff_Item
{
public:
float bonus_mana_regen; // 0x11d8
int32_t cast_range_bonus; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_Grove_Bow : public CDOTA_Buff_Item
{
public:
int32_t attack_range_bonus; // 0x11d8
int32_t attack_speed_bonus; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Grove_Bow_Debuff : public CDOTA_Buff
{
public:
int32_t magic_resistance_reduction; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Quickening_Charm : public CDOTA_Buff_Item
{
public:
int32_t bonus_cooldown; // 0x11d8
int32_t bonus_health_regen; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Philosophers_Stone : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t bonus_gpm; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Force_Boots : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t hp_regen; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Force_Boots : public CDOTA_Buff
{
public:
int32_t push_length; // 0x11d8
float push_duration; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_Desolator_2 : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
float corruption_duration; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Desolator_2_Corruption : public CDOTA_Buff
{
public:
int32_t corruption_armor; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Phoenix_Ash : public CDOTA_Buff_Item
{
public:
int32_t health_pct; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Seer_Stone_Truesight : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Seer_Stone : public CDOTA_Buff_Item
{
public:
int32_t cast_range_bonus; // 0x11d8
int32_t vision_bonus; // 0x11dc
int32_t mana_regen; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_ElixerHealing : public CDOTA_Buff
{
public:
int32_t health; // 0x11d8
int32_t mana; // 0x11dc
float duration; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Vampire_Fangs : public CDOTA_Buff_Item
{
public:
int32_t attack_lifesteal; // 0x11d8
int32_t spell_lifesteal; // 0x11dc
int32_t night_vision; // 0x11e0
int32_t creep_lifesteal_reduction_pct; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Craggy_Coat : public CDOTA_Buff_Item
{
public:
int32_t armor_bonus; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t bonus_health; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Greater_Faerie_Fire : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Timeless_Relic : public CDOTA_Buff_Item
{
public:
int32_t spell_amp; // 0x11d8
int32_t debuff_amp; // 0x11dc
};
// Alignment: 4
// Size: 0x13c0
class CDOTA_Modifier_Item_Mirror_Shield : public CDOTA_Buff_Item
{
public:
CModifierParams m_LastParams; // 0x11d8
int32_t all_stats; // 0x13b0
int32_t reflect_chance; // 0x13b4
bool m_bProcSuccessful; // 0x13b8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mirror_Shield_Delay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ironwood_tree : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Royal_Jelly : public CDOTA_Buff
{
public:
float health_regen; // 0x11d8
float mana_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Pupils_gift : public CDOTA_Buff_Item
{
public:
int32_t secondary_stats; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Tome_of_Aghanim : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Repair_Kit : public CDOTA_Buff_Item
{
public:
int32_t hp_regen; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Repair_Kit : public CDOTA_Buff
{
public:
float health_regen; // 0x11d8
int32_t armor_bonus; // 0x11dc
int32_t multishot_count; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Mind_Breaker : public CDOTA_Buff_Item
{
public:
int32_t magic_damage; // 0x11d8
int32_t attack_speed; // 0x11dc
float duration; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Third_Eye : public CDOTA_Buff
{
public:
int32_t truesight_radius; // 0x11d8
int32_t bonus_vision; // 0x11dc
int32_t bonus_all_stats; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Spell_Prism : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t bonus_cooldown; // 0x11dc
float mana_regen; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spell_Prism_Active : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Fusion_runeHealing : public CDOTA_Buff
{
public:
int32_t health_regen; // 0x11d8
float m_fHealingDone; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Princes_Knife : public CDOTA_Buff_Item
{
public:
float duration; // 0x11d8
int32_t projectile_bonus; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Princes_Knife_Hex : public CDOTA_Modifier_Hexed
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spider_Legs : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t turn_rate; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Spider_Legs_Active : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed_active; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Helm_Of_The_Undying : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 3
// Size: 0x1200
class CDOTA_Modifier_Item_Mango_Tree : public CDOTA_Buff_Item
{
public:
CHandle< C_BaseEntity > m_hTree; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CountdownTimer m_Timer; // 0x11e0
float seconds; // 0x11f8
};
// Alignment: 7
// Size: 0x1220
class CDOTA_Modifier_Passive_Mango_Tree : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTree; // 0x11d8
int32_t m_nMangoSeconds; // 0x11dc
CountdownTimer m_MangoTimer; // 0x11e0
int32_t m_nRespawnSeconds; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CountdownTimer m_RespawnTimer; // 0x1200
int32_t m_nMangosAvailable; // 0x1218
int32_t m_nChannelCount; // 0x121c
};
// Alignment: 2
// Size: 0x11e0
class Modifier_Pluck_Famango_Channel : public CDOTA_Buff
{
public:
float famango_rate; // 0x11d8
CHandle< C_BaseEntity > m_hMangoTree; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Vambrace : public CDOTA_Buff_Item
{
public:
int32_t bonus_primary_stat; // 0x11d8
int32_t bonus_secondary_stat; // 0x11dc
int32_t bonus_magic_resistance; // 0x11e0
int32_t bonus_spell_amp; // 0x11e4
int32_t bonus_attack_speed; // 0x11e8
int32_t m_iStat; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Witless_shako : public CDOTA_Buff_Item
{
public:
int32_t max_health; // 0x11d8
int32_t max_mana; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Imp_Claw : public CDOTA_Buff_Item
{
public:
int32_t crit_multiplier; // 0x11d8
int32_t bonus_damage; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Flicker : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Flicker_Damaged : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Spy_Gadget_Aura : public CDOTA_Buff_Item
{
public:
int32_t scan_cooldown_reduction; // 0x11d8
int32_t aura_range; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Spy_Gadget : public CDOTA_Buff
{
public:
int32_t attack_range; // 0x11d8
int32_t cast_range; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Ocean_Heart : public CDOTA_Buff_Item
{
public:
float water_hp_regen; // 0x11d8
float water_mp_regen; // 0x11dc
int32_t all_stats; // 0x11e0
bool m_bInRiver; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Broom_Handle : public CDOTA_Buff_Item
{
public:
int32_t melee_attack_range; // 0x11d8
int32_t bonus_armor; // 0x11dc
int32_t bonus_damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Trusty_Shovel : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Nether_Shawl : public CDOTA_Buff_Item
{
public:
int32_t bonus_magic_resistance; // 0x11d8
int32_t bonus_spell_amp; // 0x11dc
int32_t bonus_armor; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Dragon_Scale : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
int32_t bonus_hp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Dragon_Scale_Burn : public CDOTA_Buff
{
public:
int32_t damage_per_sec; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Essence_Ring : public CDOTA_Buff_Item
{
public:
int32_t bonus_int; // 0x11d8
float mp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Essence_Ring_Active : public CDOTA_Buff
{
public:
int32_t health_gain; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Clumsy_Net_Ensnare : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Clumsy_Net : public CDOTA_Buff_Item
{
public:
int32_t all_stats; // 0x11d8
int32_t mana_regen; // 0x11dc
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Item_Enchanted_Quiver : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_range; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t active_bonus_attack_range; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Ninja_Gear : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t passive_movement_bonus; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Illusionsts_Cape_Marker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Illusionsts_Cape : public CDOTA_Buff_Item
{
public:
int32_t bonus_agi; // 0x11d8
int32_t bonus_str; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Illusionists_Cape_Aura : public CDOTA_Buff
{
public:
int32_t attack_damage_aura; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Havoc_Hammer : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_strength; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Havoc_Hammer_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Panic_Button : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float health_threshold; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Apex : public CDOTA_Buff_Item
{
public:
int32_t primary_stat; // 0x11d8
int32_t primary_stat_universal; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Ballista : public CDOTA_Buff_Item
{
public:
int32_t attack_range_bonus; // 0x11d8
float knockback_distance; // 0x11dc
float knockback_duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Woodland_Striders : public CDOTA_Buff_Item
{
public:
int32_t bonus_movement_speed; // 0x11d8
int32_t bonus_hp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Woodland_Striders_Active : public CDOTA_Buff
{
public:
float tree_duration; // 0x11d8
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Item_Trident : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t movement_speed_percent_bonus; // 0x11e0
int32_t bonus_strength; // 0x11e4
int32_t hp_regen_amp; // 0x11e8
int32_t status_resistance; // 0x11ec
int32_t bonus_intellect; // 0x11f0
int32_t spell_amp; // 0x11f4
int32_t mana_regen_multiplier; // 0x11f8
int32_t magic_damage_attack; // 0x11fc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Demonicon : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_intellect; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Demonicon_Bonus : public CDOTA_Buff
{
public:
int32_t hp_bonus; // 0x11d8
int32_t damage_bonus; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Fallen_Sky : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t bonus_intellect; // 0x11dc
float bonus_health_regen; // 0x11e0
float bonus_mana_regen; // 0x11e4
float blink_damage_cooldown; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Fallen_Sky_Land : public CDOTA_Buff
{
public:
int32_t impact_radius; // 0x11d8
float land_time; // 0x11dc
float burn_duration; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Fallen_Sky_Burn : public CDOTA_Buff
{
public:
int32_t burn_dps_buildings; // 0x11d8
int32_t burn_dps_units; // 0x11dc
float burn_interval; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Pirate_Hat : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_ms; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Ex_Machina : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Faded_Broach : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t bonus_movement_speed; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Paladin_Sword : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_lifesteal; // 0x11dc
int32_t bonus_spell_lifesteal; // 0x11e0
int32_t bonus_amp; // 0x11e4
int32_t creep_lifesteal_reduction_pct; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Minotaur_Horn_Immune : public CDOTA_Modifier_MagicImmune
{
public:
int32_t model_scale; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Minotaur_Horn : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Item_Orb_Of_Destruction : public CDOTA_Buff_Item
{
public:
float duration; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Orb_Of_Destruction_Debuff : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
int32_t slow_melee; // 0x11dc
int32_t slow_range; // 0x11e0
bool bCasterRanged; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_The_Leveller : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_armor; // 0x11dc
int32_t demolish; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Arcane_Ring : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
int32_t bonus_intelligence; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Titan_Sliver : public CDOTA_Buff_Item
{
public:
int32_t base_attack_damage; // 0x11d8
int32_t magic_resistance; // 0x11dc
int32_t status_resistance; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Voodoo_Mask : public CDOTA_Buff_Item
{
public:
float spell_lifesteal; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifer_Item_Blitz_Knuckles : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Item_Witch_Blade : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_armor; // 0x11e0
float slow_duration; // 0x11e4
int32_t projectile_speed; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Witch_Blade_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
float int_damage_multiplier; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_MaskOfDispair : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
float bonus_armor; // 0x11dc
int32_t spell_lifesteal; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_MaskOfDispair_Berserk : public CDOTA_Buff
{
public:
int32_t berserk_spell_amp; // 0x11d8
int32_t berserk_manacost_reduction; // 0x11dc
int32_t berserk_magic_resistance; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Chipped_Vest : public CDOTA_Buff_Item
{
public:
float hp_regen; // 0x11d8
int32_t damage_return_hero; // 0x11dc
int32_t damage_return_creep; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Cloak_Of_Flames : public CDOTA_Buff_Item
{
public:
int32_t armor; // 0x11d8
int32_t magic_resistance; // 0x11dc
int32_t radius; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Cloak_Of_Flames_Debuff : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t damage_illusions; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Elven_Tunic : public CDOTA_Buff_Item
{
public:
int32_t attack_speed; // 0x11d8
int32_t evasion; // 0x11dc
int32_t movment; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Gloves_Of_Travel : public CDOTA_Buff_Item
{
public:
int32_t attack_speed; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_Orb_Of_Corrosion : public CDOTA_Buff_Item
{
public:
int32_t health_bonus; // 0x11d8
float duration; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Orb_Of_Corrosion_Debuff : public CDOTA_Buff
{
public:
int32_t armor; // 0x11d8
int32_t slow_melee; // 0x11dc
int32_t slow_range; // 0x11e0
bool bCasterRanged; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t damage; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Sorcerers_Staff : public CDOTA_Buff_Item
{
public:
int32_t mana_regen_amp; // 0x11d8
int32_t spell_amp_creeps; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Trickster_Cloak : public CDOTA_Buff_Item
{
public:
int32_t evasion; // 0x11d8
int32_t magic_resistance; // 0x11dc
float debuff_limit; // 0x11e0
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_Item_Trickster_Cloak_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1200
class CDOTA_Modifier_Item_Venom_Gland : public CDOTA_Buff_Item
{
public:
int32_t primary_attribute; // 0x11d8
int32_t debuff_amp; // 0x11dc
float duration; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Venom_Gland_Debuff : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t degen; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Wizard_Glass : public CDOTA_Buff_Item
{
public:
int32_t debuff_amp; // 0x11d8
int32_t cooldown_reduction; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Gladiator_Helm : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Gladiator_Helm_Buff : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t armor; // 0x11dc
int32_t movement_speed; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Possessed_Mask : public CDOTA_Buff_Item
{
public:
int32_t primary_attribute; // 0x11d8
int32_t lifesteal; // 0x11dc
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Item_AssassinsDagger : public CDOTA_Buff_Item
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
int32_t debuff_duration; // 0x11f0
int32_t bonus_attack_speed; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Assassins_Dagger_Debuff : public CDOTA_Buff
{
public:
int32_t armor_debuff; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_AsceticCap : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float hp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_AsceticCapBuff : public CDOTA_Buff
{
public:
int32_t status_resistance; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_SamplePicker : public CDOTA_Buff_Item
{
public:
int32_t base_gold; // 0x11d8
int32_t gold_per_level; // 0x11dc
int32_t strength_penalty; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_IcarusWings : public CDOTA_Buff_Item
{
public:
float move_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_IcarusWingsBuff : public CDOTA_Buff_Item
{
public:
int32_t status_resistance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_IcarusWingsDebuff : public CDOTA_Buff_Item
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Dynamite_Jacket : public CDOTA_Buff_Item
{
public:
int32_t bonus_armor; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage; // 0x11e0
float blind_duration; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Jacket_Blind : public CDOTA_Buff
{
public:
float blind_pct; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Tree_Processor : public CDOTA_Buff_Item
{
public:
int32_t bonus_int; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Tree_Processor_Speed : public CDOTA_Buff_Item
{
public:
int32_t health_per_tree; // 0x11d8
int32_t hp_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Heavy_Blade : public CDOTA_Buff_Item
{
public:
float damage; // 0x11d8
int32_t attack_speed; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Mechanical_Arm : public CDOTA_Buff_Item
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
float bat; // 0x11dc
float stun_duration; // 0x11e0
int32_t stun_chance; // 0x11e4
int32_t m_nAttack; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mechanical_Arm_Counter : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Fortitude_Ring : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float hp_regen; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Fortitude_Ring_Active : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_PogoStick : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t bonus_intellect; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Pogo_Stick_Active : public CDOTA_Buff
{
public:
int32_t leap_distance; // 0x11d8
float leap_speed; // 0x11dc
float leap_acceleration; // 0x11e0
int32_t leap_radius; // 0x11e4
float leap_bonus_duration; // 0x11e8
bool m_bLaunched; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Paintball : public CDOTA_Buff_Item
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Paintball_Debuff : public CDOTA_Buff
{
public:
int32_t dps; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_UnstableWand : public CDOTA_Buff_Item
{
public:
int32_t all_stats; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_UnstableWand_Critter : public CDOTA_Modifier_Hexed
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_LightRobes : public CDOTA_Buff_Item
{
public:
int32_t health_penalty; // 0x11d8
int32_t attack_speed; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Force_Field_Bonus_Aura : public CDOTA_Buff
{
public:
int32_t bonus_aoe_radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Force_Field_Bonus : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Force_Field : public CDOTA_Buff_Item
{
public:
bool m_bAppliesToCreeps; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
int32_t bonus_aoe_radius; // 0x11dc
int32_t self_armor; // 0x11e0
int32_t self_mres; // 0x11e4
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Force_Field_Effect : public CDOTA_Buff
{
public:
float bonus_aoe_armor; // 0x11d8
float bonus_aoe_ms; // 0x11dc
float bonus_aoe_mres; // 0x11e0
float self_mres; // 0x11e4
float self_armor; // 0x11e8
int32_t active_reflection_pct; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Misericorde : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t missing_hp; // 0x11dc
int32_t damage; // 0x11e0
int32_t aspd; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Ancient_Perseverance : public CDOTA_Buff_Item
{
public:
int32_t damage; // 0x11d8
int32_t hp_regen; // 0x11dc
int32_t mana_regen_amp; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Oakheart : public CDOTA_Buff_Item
{
public:
int32_t strength; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Oakheart_Healing : public CDOTA_Buff
{
public:
int32_t heal; // 0x11d8
float duration; // 0x11dc
float regen; // 0x11e0
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Item_Stormcrafter : public CDOTA_Buff_Item
{
public:
GameTime_t m_flNextHit; // 0x11d8
int32_t passive_movement_bonus; // 0x11dc
int32_t range; // 0x11e0
float interval; // 0x11e4
int32_t damage; // 0x11e8
float slow_duration; // 0x11ec
float bonus_mana_regen; // 0x11f0
int32_t max_targets; // 0x11f4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Stormcrafter_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Overflowing_Elixir_Regen : public CDOTA_Buff
{
public:
int32_t health; // 0x11d8
int32_t mana; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Mysterious_Hat : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t spell_amp; // 0x11dc
int32_t manacost_reduction; // 0x11e0
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Orb_of_Pestilence : public CDOTA_Buff_Item
{
public:
int32_t poison_movement_speed_melee; // 0x11d8
int32_t poison_movement_speed_range; // 0x11dc
float poison_duration; // 0x11e0
float poison_damage; // 0x11e4
int32_t armor; // 0x11e8
float hp_regen; // 0x11ec
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Orb_of_Pestilence_Slow : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t slow; // 0x11dc
float damage; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Fluffy_Hat : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Falcon_Blade : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_damage_per_kill; // 0x11dc
int32_t bonus_damage_per_assist; // 0x11e0
int32_t bonus_health; // 0x11e4
int32_t max_damage; // 0x11e8
float bonus_mana_regen; // 0x11ec
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Mage_Slayer : public CDOTA_Buff_Item
{
public:
int32_t bonus_magical_armor; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
float duration; // 0x11e4
float bonus_mana_regen; // 0x11e8
int32_t bonus_intellect; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Mage_Slayer_Debuff : public CDOTA_Buff
{
public:
int32_t spell_amp_debuff; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Overwhelming_Blink : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
float blink_damage_cooldown; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Item_SuperOverwhelming_Blink : public CDOTA_Modifier_Item_Overwhelming_Blink
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Overwhelming_Blink_Debuff : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t attack_slow; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Swift_Blink : public CDOTA_Buff_Item
{
public:
float blink_damage_cooldown; // 0x11d8
int32_t bonus_agility; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Item_SuperSwift_Blink : public CDOTA_Modifier_Item_Swift_Blink
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Swift_Blink_Buff : public CDOTA_Buff
{
public:
int32_t bonus_movement; // 0x11d8
int32_t bonus_agi_active; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Arcane_Blink : public CDOTA_Buff_Item
{
public:
float blink_damage_cooldown; // 0x11d8
int32_t bonus_intellect; // 0x11dc
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Item_SuperArcane_Blink : public CDOTA_Modifier_Item_Arcane_Blink
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Arcane_Blink_Buff : public CDOTA_Buff
{
public:
int32_t cast_pct_improvement; // 0x11d8
int32_t manacost_reduction; // 0x11dc
int32_t debuff_amp; // 0x11e0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Wind_Waker : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_movement_speed; // 0x11e0
int32_t bonus_mana; // 0x11e4
int32_t cast_range_bonus; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Wind_Waker : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hBlocker; // 0x11d8
GameTime_t m_flStartTime; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Eul_Wind_Waker_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghanims_Shard : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Eternal_Shroud_Barrier : public CDOTA_Buff
{
public:
int32_t barrier_block; // 0x11d8
int32_t barrier_amount; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Eternal_Shroud : public CDOTA_Buff_Item
{
public:
int32_t bonus_spell_resist; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t bonus_armor; // 0x11e0
float bonus_health_regen; // 0x11e4
int32_t mana_restore_pct; // 0x11e8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Star_Mace : public CDOTA_Buff_Item
{
public:
int32_t movement_speed_pct; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t cleave_damage_percent; // 0x11e0
int32_t cleave_starting_width; // 0x11e4
int32_t cleave_ending_width; // 0x11e8
int32_t cleave_distance; // 0x11ec
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Penta_Edged_Sword : public CDOTA_Buff_Item
{
public:
int32_t damage; // 0x11d8
int32_t maim_chance; // 0x11dc
float maim_duration; // 0x11e0
int32_t melee_attack_range; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Penta_Edged_Sword_Maim : public CDOTA_Buff
{
public:
int32_t maim_slow_movement; // 0x11d8
int32_t maim_slow_attack; // 0x11dc
};
// Alignment: 7
// Size: 0x1210
class CDOTA_Modifier_GungirChain : public CDOTA_Buff
{
public:
int32_t chain_radius; // 0x11d8
int32_t chain_strikes; // 0x11dc
int32_t chain_damage; // 0x11e0
float chain_delay; // 0x11e4
int32_t m_iCurJumpCount; // 0x11e8
Vector m_vCurTargetLoc; // 0x11ec
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11f8
};
// Alignment: 11
// Size: 0x1230
class CDOTA_Modifier_Item_Gungir : public CDOTA_Buff_Item
{
public:
int32_t bonus_damage; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t bonus_agility; // 0x11e0
int32_t bonus_intellect; // 0x11e4
int32_t chain_chance; // 0x11e8
int32_t chain_strikes; // 0x11ec
int32_t chain_damage; // 0x11f0
int32_t chain_radius; // 0x11f4
float chain_cooldown; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11fc[0x4]; // 0x11fc
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x1200
CountdownTimer m_ChainTimer; // 0x1218
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Gungnir_Debuff : public CDOTA_Modifier_Rooted
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Orb_Of_Revelations : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
float bonus_mana_regen; // 0x11e0
int32_t cast_range_bonus; // 0x11e4
int32_t bonus_magical_armor; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Orb_Of_Revelations_Reveal : public CDOTA_Buff
{
public:
int32_t movespeed; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Satchel : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t xp_gain; // 0x11dc
};
// Alignment: 19
// Size: 0x1238
class CDOTA_Modifier_Item_Grandmasters_Glaive : public CDOTA_Buff_Item
{
public:
int32_t sange_bonus_strength; // 0x11d8
int32_t sange_status_resistance; // 0x11dc
int32_t sange_hp_regen_amp; // 0x11e0
int32_t kaya_bonus_intellect; // 0x11e4
int32_t kaya_spell_amp; // 0x11e8
int32_t kaya_mana_regen_multiplier; // 0x11ec
int32_t kaya_magic_damage_attack; // 0x11f0
int32_t yasha_bonus_agility; // 0x11f4
int32_t yasha_bonus_attack_speed; // 0x11f8
int32_t yasha_movement_speed_percent_bonus; // 0x11fc
int32_t m_iCurrentStance; // 0x1200
int32_t bonus_strength; // 0x1204
int32_t bash_chance_melee; // 0x1208
int32_t bash_chance_ranged; // 0x120c
float bash_duration; // 0x1210
float bash_cooldown; // 0x1214
int32_t bonus_chance_damage; // 0x1218
int32_t bonus_damage; // 0x121c
CUtlVector< int16 > m_InFlightAttackRecords; // 0x1220
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Agi : public CDOTA_Buff
{
public:
int32_t agi_stance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Str : public CDOTA_Buff
{
public:
int32_t str_stance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Grandmasters_Glaive_Bonus_Int : public CDOTA_Buff
{
public:
int32_t int_stance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Warhammer : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Warhammer_Armor : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Psychic_Headband : public CDOTA_Buff_Item
{
public:
int32_t intelligence_pct; // 0x11d8
int32_t cast_range; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Psychic_Headband : public CDOTA_Buff
{
public:
int32_t push_length; // 0x11d8
float push_duration; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Ceremonial_Robe : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t aura_radius; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Ceremonial_Robe_Aura : public CDOTA_Buff
{
public:
int32_t status_resistance; // 0x11d8
int32_t magic_resistance; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Book_Of_Shadows : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t night_vision; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Book_Of_Shadows_Buff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Giants_Ring : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t model_scale; // 0x11e0
int32_t damage_radius; // 0x11e4
int32_t pct_str_damage_per_second; // 0x11e8
float tick_rate; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Vengeances_Shadow : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t damage_return; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Vengeances_Shadow_Illusions : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Bullwhip : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Bullwhip_Buff_Thinker : public CDOTA_Buff
{
public:
int32_t speed; // 0x11d8
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Bullwhip_Buff : public CDOTA_Buff
{
public:
int32_t speed; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_Quicksilver_Amulet : public CDOTA_Buff_Item
{
public:
int32_t base_attack; // 0x11d8
int32_t bonus_attack; // 0x11dc
int32_t base_movement; // 0x11e0
int32_t bonus_movement; // 0x11e4
int32_t projectile_increase; // 0x11e8
int32_t anim_increase; // 0x11ec
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_Naginata : public CDOTA_Buff_Item
{
public:
int32_t bonus_intellect; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
int32_t bonus_damage; // 0x11e0
int32_t bonus_health; // 0x11e4
float bonus_mana_regen; // 0x11e8
int32_t cooldown_reduction_percent; // 0x11ec
int32_t bonus_chance; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_SeedsOfSerenity : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
float bonus_health_regen; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_SeedsOfSerenity_Active_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_SeedsOfSerenity_Active : public CDOTA_Buff
{
public:
int32_t aura_health_regen; // 0x11d8
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Item_LanceOfPursuit : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t bonus_strength; // 0x11dc
int32_t backstab_damage; // 0x11e0
int32_t backstab_angle; // 0x11e4
float slow_duration; // 0x11e8
bool m_bBackstab; // 0x11ec
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Lance_of_Pursuit_Slow : public CDOTA_Buff
{
public:
int32_t slow_pct_melee; // 0x11d8
int32_t slow_pct_ranged; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Occult_Bracelet : public CDOTA_Buff_Item
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t stack_limit; // 0x11dc
float stack_duration; // 0x11e0
GameTime_t m_flStackDieTime; // 0x11e4
int32_t magic_resistance; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Occult_Bracelet_Stack : public CDOTA_Buff
{
public:
float mana_regen; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Tome_of_Omniscience : public CDOTA_Buff_Item
{
public:
int32_t bonus_mana; // 0x11d8
int32_t bonus_xpm; // 0x11dc
int32_t bonus_armor; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_OgreSealTotem : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_OgreSealTotem_Active : public CDOTA_Buff
{
public:
int32_t m_nCurrentBounce; // 0x11d8
int32_t leap_distance; // 0x11dc
float leap_speed; // 0x11e0
float leap_acceleration; // 0x11e4
int32_t leap_radius; // 0x11e8
float leap_bonus_duration; // 0x11ec
bool m_bLaunched; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_OgreSealTotem_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_WandOfTheBrine : public CDOTA_Buff_Item
{
public:
int32_t heal_increase; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_WandOfTheBrine_Active : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
float interval; // 0x11dc
int32_t damage_reduction; // 0x11e0
int32_t heal; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Slime_Vial : public CDOTA_Buff_Item
{
public:
int32_t health_regen; // 0x11d8
};
// Alignment: 8
// Size: 0x1220
class CDOTA_Modifier_Item_Slime_Vial_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
CountdownTimer m_ViewerTimer; // 0x11f8
int32_t spill_speed; // 0x1210
int32_t spill_radius; // 0x1214
int32_t spill_damage; // 0x1218
float spill_debuff_duration; // 0x121c
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Slime_Vial_Spill_Debuff : public CDOTA_Buff
{
public:
int32_t spill_movement_speed; // 0x11d8
int32_t spill_attack_speed; // 0x11dc
int32_t spill_self_bonus_armor; // 0x11e0
};
// Alignment: 9
// Size: 0x1210
class CDOTA_Modifier_Item_Harpoon : public CDOTA_Buff_Item
{
public:
int32_t bonus_chance; // 0x11d8
int32_t bonus_chance_damage; // 0x11dc
int32_t bonus_strength; // 0x11e0
int32_t bonus_agility; // 0x11e4
int32_t bonus_intellect; // 0x11e8
float bonus_mana_regen; // 0x11ec
int32_t bonus_damage; // 0x11f0
int32_t bonus_speed; // 0x11f4
CUtlVector< int16 > m_InFlightProcAttackRecords; // 0x11f8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Harpoon_EchoSabre_Component : public CDOTA_Buff_Item
{
public:
float slow_duration; // 0x11d8
int32_t bonus_attack_speed; // 0x11dc
bool bonus_speed; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
float passive_cooldown; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Harpoon_Pull : public CDOTA_Buff
{
public:
float m_flDistance; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Harpoon_Slow : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Harpoon_InternalCD : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Guardian_Shell : public CDOTA_Buff_Item
{
public:
int32_t all_stats; // 0x11d8
int32_t bonus_armor; // 0x11dc
float counter_cooldown; // 0x11e0
GameTime_t m_flLastCounterTime; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_GuardianShell_Active : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Arcane_Scout : public CDOTA_Buff_Item
{
public:
int32_t vision_bonus; // 0x11d8
int32_t magic_resist; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Arcane_Scout_Self_Vision : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Arcane_Scout_Invulnerability : public CDOTA_Modifier_Invulnerable
{
public:
int32_t scout_movespeed; // 0x11d8
int32_t sight_range; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Barricade_Thinker : public CDOTA_Buff
{
public:
int32_t length; // 0x11d8
int32_t width; // 0x11dc
int32_t max_hits; // 0x11e0
int32_t m_iCurrentHits; // 0x11e4
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Item_Barricade_Blocker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Barricade : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_armor; // 0x11dc
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_EyeOfTheVizier : public CDOTA_Buff_Item
{
public:
int32_t cast_range_bonus; // 0x11d8
int32_t mana_reduction_pct; // 0x11dc
float bonus_mana_regen; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_ManaclesOfPower : public CDOTA_Buff_Item
{
public:
int32_t bonus_strength; // 0x11d8
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_ManaclesOfPower_Effect : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hPartner; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
float leash_distance; // 0x11e0
float leash_limit_multiplier; // 0x11e4
CHandle< C_BaseEntity > m_hAnchor; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Bottomless_Chalice_Regen : public CDOTA_Buff
{
public:
int32_t health; // 0x11d8
int32_t mana; // 0x11dc
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_Bottomless_Chalice : public CDOTA_Buff_Item
{
public:
int32_t max_charges_per_kill; // 0x11d8
float recharge_time; // 0x11dc
bool m_bFull; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e1[0x3]; // 0x11e1
public:
int32_t bonus_intellect; // 0x11e4
int32_t movement_speed; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_WandOfSanctitude : public CDOTA_Buff_Item
{
public:
int32_t all_stats; // 0x11d8
int32_t cast_range_bonus; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_WandOfSanctitude_Active_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 5
// Size: 0x1228
class CDOTA_Modifier_Item_SpecialistsArray : public CDOTA_Buff_Item
{
public:
int32_t all_stats; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t proc_bonus_damage; // 0x11e0
int32_t count; // 0x11e4
int32_t secondary_target_range_bonus; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_DaggerOfRistul : public CDOTA_Buff_Item
{
public:
int32_t aspd; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_DaggerOfRistul_Buff : public CDOTA_Buff
{
public:
int32_t bonus_damage; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Lunar_Crest : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t bonus_spell_resist; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Addition : public CDOTA_Buff
{
public:
int32_t barrier_block; // 0x11d8
int32_t barrier_amount; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Lunar_Crest_Barrier_Reduction : public CDOTA_Buff
{
public:
int32_t barrier_block; // 0x11d8
float m_flDamageTotal; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Magus_Minimus_Inhibit : public CDOTA_Buff
{
public:
int32_t purge_rate; // 0x11d8
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Item_Magus_Minimus : public CDOTA_Buff_Item
{
public:
int32_t bonus_agility; // 0x11d8
int32_t bonus_intellect; // 0x11dc
float damage_per_burn; // 0x11e0
int32_t feedback_mana_burn; // 0x11e4
int32_t feedback_mana_burn_illusion_melee; // 0x11e8
int32_t feedback_mana_burn_illusion_ranged; // 0x11ec
int32_t aura_radius; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Magus_Minimus_Aura_Slow : public CDOTA_Buff
{
public:
int32_t max_slow_pct; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_Witches_Switch : public CDOTA_Buff_Item
{
public:
float bonus_health_regen; // 0x11d8
float bonus_mana_regen; // 0x11dc
int32_t bonus_armor; // 0x11e0
int32_t aura_radius; // 0x11e4
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Witches_Switch_Aura_Effect : public CDOTA_Buff
{
public:
float aura_mana_regen; // 0x11d8
float aura_health_regen; // 0x11dc
int32_t aura_armor; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_Spark_Of_Courage : public CDOTA_Buff_Item
{
public:
int32_t damage; // 0x11d8
int32_t armor; // 0x11dc
int32_t health_pct; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Item_VindicatorsAxe : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_damage; // 0x11dc
int32_t bonus_armor; // 0x11e0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifer_Item_DandelionAmulet : public CDOTA_Buff_Item
{
public:
int32_t move_speed; // 0x11d8
int32_t mana; // 0x11dc
int32_t magic_block; // 0x11e0
int32_t min_damage; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifer_Item_BlightedSpirit : public CDOTA_Buff_Item
{
public:
int32_t magic_resist; // 0x11d8
float duration; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_BlightedSpirit_Blight : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
int32_t heal_reduction; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Item_DuelistGloves : public CDOTA_Buff_Item
{
public:
int32_t bonus_attack_speed; // 0x11d8
int32_t bonus_damage; // 0x11dc
float radius; // 0x11e0
int32_t actual_attack_speed; // 0x11e4
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Item_HorizonsEquilibrium : public CDOTA_Buff_Item
{
public:
int32_t distance; // 0x11d8
int32_t damage_reduction; // 0x11dc
int32_t attack_lifesteal; // 0x11e0
int32_t spell_lifesteal; // 0x11e4
int32_t creep_lifesteal_reduction_pct; // 0x11e8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifer_Item_TurtleShell : public CDOTA_Buff_Item
{
public:
int32_t armor; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifer_Item_TurtleShell_Shell : public CDOTA_Buff_Item
{
public:
int32_t damage_reduction; // 0x11d8
Vector m_vecPosition; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_MartyrsPlate : public CDOTA_Buff_Item
{
public:
float duration; // 0x11d8
int32_t magic_resist; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_MartyrsPlate_Aura : public CDOTA_Buff_Item
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_MartyrsPlate_Effect : public CDOTA_Buff_Item
{
public:
int32_t damage_redirection; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Item_Gossamer_Cape : public CDOTA_Buff_Item
{
public:
float movement_speed; // 0x11d8
};
// 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<C_GlobalLight**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_GlobalLight")->m_static_fields[0]->m_instance);};
static CUtlStringToken &Get_sm_pSkyboxSlots(){return *reinterpret_cast<CUtlStringToken*>(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<CUtlVector< C_GlobalLight* >*>(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: 80
// Size: 0x4f8
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
};
// 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: 20
// Size: 0xf90
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
};
// Alignment: 0
// Size: 0xf90
class C_DOTA_DataRadiant : public C_DOTA_DataNonSpectator
{
public:
// No members available
};
// Alignment: 0
// Size: 0xf90
class C_DOTA_DataDire : public C_DOTA_DataNonSpectator
{
public:
// No members available
};
// Alignment: 0
// Size: 0xf90
class C_DOTA_DataCustomTeam : public C_DOTA_DataNonSpectator
{
public:
// No members available
};
// Alignment: 18
// Size: 0x1308
class C_DOTA_DataSpectator : public C_DOTA_DataNonSpectator
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hPowerupRune_1; // 0xf90
// MNetworkEnable
CHandle< C_BaseEntity > m_hPowerupRune_2; // 0xf94
// MNetworkEnable
CHandle< C_BaseEntity > m_hBountyRune_1; // 0xf98
// MNetworkEnable
CHandle< C_BaseEntity > m_hBountyRune_2; // 0xf9c
// MNetworkEnable
CHandle< C_BaseEntity > m_hBountyRune_3; // 0xfa0
// MNetworkEnable
CHandle< C_BaseEntity > m_hBountyRune_4; // 0xfa4
// MNetworkEnable
CHandle< C_BaseEntity > m_hXPRune_1; // 0xfa8
// MNetworkEnable
CHandle< C_BaseEntity > m_hXPRune_2; // 0xfac
// MNetworkEnable
int32_t m_iNetWorth[24]; // 0xfb0
// MNetworkEnable
float m_fRadiantWinProbability; // 0x1010
// MNetworkEnable
int32_t m_iGoldSpentOnSupport[24]; // 0x1014
// MNetworkEnable
int32_t m_iHeroDamage[24]; // 0x1074
// MNetworkEnable
int32_t m_nWardsPurchased[24]; // 0x10d4
// MNetworkEnable
int32_t m_nWardsPlaced[24]; // 0x1134
// MNetworkEnable
int32_t m_nWardsDestroyed[24]; // 0x1194
// MNetworkEnable
int32_t m_nRunesActivated[24]; // 0x11f4
// MNetworkEnable
int32_t m_nCampsStacked[24]; // 0x1254
private:
[[maybe_unused]] uint8_t __pad12b4[0x4]; // 0x12b4
public:
// MNetworkEnable
C_UtlVectorEmbeddedNetworkVar< DOTAThreatLevelInfo_t > m_ThreatLevelInfos; // 0x12b8
};
// 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: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Special_Bonus_Gold : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_HP : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_MP : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Attack_Speed : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Base_Attack_Rate : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Attributes : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_All_Stats : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Movement_Speed : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Cast_Speed : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Movement_Speed_Percentage : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_HP_Regen : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_MP_Regen : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_MP_Regen_Amp : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Manaloss_Reduction : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Agility_And_Intelligence : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Intelligence : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Strength : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Agility : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Magic_Resistance : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Status_Resistance : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Day_Vision : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Night_Vision : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Vision : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Armor : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Attack_Damage : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Attack_Base_Damage : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Attack_Range : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Cast_Range : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Spell_Amplify : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Cooldown_Reduction : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Respawn_Reduction : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Gold_Income : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Evasion : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Morphling_4 : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Unique_Treant_3 : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_20_Bash : public CDOTA_Buff
{
public:
float value; // 0x11d8
float value2; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Crit : public CDOTA_Buff
{
public:
float crit_chance; // 0x11d8
float crit_multiplier; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Tree_Walking : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Lifesteal : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Cleave : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Corruption : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Corruption_Debuff : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Special_Bonus_Mana_Break : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
int32_t burn_illusions_ranged; // 0x11dc
int32_t burn_illusions_melee; // 0x11e0
float damage_per_burn; // 0x11e4
};
// Alignment: 2
// Size: 0x11f8
class CDOTA_Modifier_Special_Bonus_Spell_Block : public CDOTA_Buff
{
public:
float block_cooldown; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CountdownTimer m_CooldownTimer; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_Spell_Immunity : public CDOTA_Modifier_MagicImmune
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Haste : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Special_Bonus_TrueStrike : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Special_Bonus_Reincarnation : public CDOTA_Buff
{
public:
float value; // 0x11d8
float reincarnate_time; // 0x11dc
GameTime_t m_fLastReincarnationTime; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Spell_Lifesteal : public CDOTA_Buff
{
public:
float value; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Special_Bonus_Exp_Boost : public CDOTA_Buff
{
public:
int32_t value; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Stacking_Gold_Rate_Boost : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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<C_DOTASpectatorGraphManagerProxy**>(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: 0x11e8
class CDOTA_Modifier_Seasonal_Summon_Common_Thinker : public CDOTA_Buff
{
public:
float grace_period; // 0x11d8
int32_t search_distance; // 0x11dc
float think_interval; // 0x11e0
};
// 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: 0x11e0
class CDOTA_Modifier_Healing_Campfire_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Healing_Campfire_Heal : public CDOTA_Buff
{
public:
int32_t heal_amount; // 0x11d8
};
// 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: 0x11e8
class CDOTA_Modifier_Seasonal_Summon_Snowman_Thinker : public CDOTA_Buff
{
public:
float grace_period; // 0x11d8
int32_t search_distance; // 0x11dc
float think_interval; // 0x11e0
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_Seasonal_Summon_Penguin : public C_DOTABaseAbility
{
public:
int32_t spawn_offset; // 0x5a0
};
// Alignment: 31
// Size: 0x1280
class CDOTA_Modifier_Seasonal_Penguin : public CDOTA_Buff
{
public:
float m_fLifetimeGained; // 0x11d8
Vector m_vTargetPos; // 0x11dc
int32_t m_nCurrentSpeed; // 0x11e8
GameTime_t m_fLastBumpTime; // 0x11ec
Vector m_vLastPos; // 0x11f0
CHandle< C_BaseEntity > m_hLastHit; // 0x11fc
Vector m_vDir; // 0x1200
Vector m_vRunEndPos; // 0x120c
bool m_bIsInInitialRun; // 0x1218
private:
[[maybe_unused]] uint8_t __pad1219[0x3]; // 0x1219
public:
Vector m_vJumpEndPos; // 0x121c
bool m_bPlayedVroomSinceLastCrash; // 0x1228
private:
[[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229
public:
ParticleIndex_t m_nVroomFX; // 0x122c
GameTime_t m_fLastSpeedStepTime; // 0x1230
GameTime_t m_fLastSpeechTime; // 0x1234
ParticleIndex_t m_nFXStackIndex; // 0x1238
int32_t m_nBumpsSinceLastCrash; // 0x123c
CHandle< C_BaseEntity > m_hLastBumpingHero; // 0x1240
int32_t initial_speed; // 0x1244
int32_t max_speed; // 0x1248
int32_t speed_step; // 0x124c
float speed_step_interval; // 0x1250
float bump_delay; // 0x1254
float bump_delay_absolute; // 0x1258
int32_t bump_collision_radius; // 0x125c
int32_t run_distance; // 0x1260
int32_t jump_distance; // 0x1264
int32_t speed_after_crash; // 0x1268
int32_t speed_gain_per_hero_bump; // 0x126c
float max_gainable_lifetime; // 0x1270
float lifetime_gain_per_hero_bump; // 0x1274
float min_speech_repeat_time; // 0x1278
};
// 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: 0x11e0
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: 0x11d8
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: 0x11e8
class CDOTA_Ability_Seasonal_Summon_Dragon_Thinker : public CDOTA_Buff
{
public:
float grace_period; // 0x11d8
int32_t search_distance; // 0x11dc
float think_interval; // 0x11e0
};
// 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: 0x1220
class CDOTA_Modifier_Seasonal_Summon_CNY_Balloon_Thinker : public CDOTA_Buff
{
public:
float speed; // 0x11d8
int32_t min_distance_before_bounce; // 0x11dc
float drag; // 0x11e0
float max_height; // 0x11e4
float max_vertical_move_time; // 0x11e8
float bounce_turn_angle; // 0x11ec
float bounce_turn_angle_tree; // 0x11f0
float bounce_delay; // 0x11f4
Vector m_vLastPos; // 0x11f8
Vector m_vDir; // 0x1204
float m_flSpeed; // 0x1210
float m_flDistRemaining; // 0x1214
float m_flTreeTimeRemaining; // 0x1218
CHandle< C_BaseEntity > m_hLastHit; // 0x121c
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Seasonal_Summon_TI9_Balloon : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 14
// Size: 0x1220
class CDOTA_Modifier_Seasonal_Summon_TI9_Balloon_Thinker : public CDOTA_Buff
{
public:
float speed; // 0x11d8
int32_t min_distance_before_bounce; // 0x11dc
float drag; // 0x11e0
float max_height; // 0x11e4
float max_vertical_move_time; // 0x11e8
float bounce_turn_angle; // 0x11ec
float bounce_turn_angle_tree; // 0x11f0
float bounce_delay; // 0x11f4
Vector m_vLastPos; // 0x11f8
Vector m_vDir; // 0x1204
float m_flSpeed; // 0x1210
float m_flDistRemaining; // 0x1214
float m_flTreeTimeRemaining; // 0x1218
CHandle< C_BaseEntity > m_hLastHit; // 0x121c
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Seasonal_TI9_Banner : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f0
class CDOTA_Modifier_Seasonal_TI9_Shovel_Stasis_Trap : public CDOTA_Modifier_Seasonal_Summon_Common_Thinker
{
public:
CHandle< C_BaseEntity > m_hHero; // 0x11e8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Seasonal_TI9_Shovel : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Seasonal_TI9_Shovel_BabyRoshan : public CDOTA_Buff
{
public:
bool m_bFirstThink; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
GameTime_t m_flStartTime; // 0x11dc
Vector m_vecStartingPos; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Seasonal_TI9_Monkey_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f0
class CDOTA_Modifier_Lesser_NightCrawler_Pounce : public CDOTA_Buff
{
public:
int32_t pounce_distance; // 0x11d8
float pounce_speed; // 0x11dc
float pounce_acceleration; // 0x11e0
int32_t pounce_radius; // 0x11e4
int32_t pounce_damage; // 0x11e8
float leash_duration; // 0x11ec
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Zombie_Berserk : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Zombie_Berserk : public CDOTA_Buff
{
public:
int32_t berserk_bonus_attack_speed; // 0x11d8
int32_t berserk_bonus_movement_speed; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Corspselord_Revive : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Corpselord_Revive : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t ticks_to_revive; // 0x11dc
float tick_interval; // 0x11e0
CHandle< C_DOTA_BaseNPC > m_pReviveTarget; // 0x11e4
int32_t m_nCurrentTicks; // 0x11e8
};
// 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: 0x11e0
class CDOTA_Modifier_Creature_IceSlam_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
ParticleIndex_t m_nPathEffectIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x630
class C_DOTA_Item_GreaterClarity : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_GreaterClarity : public CDOTA_Buff
{
public:
int32_t total_mana; // 0x11d8
};
// Alignment: 0
// Size: 0x630
class C_DOTA_Item_UpgradedMortar : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_UpgradedMortar : public CDOTA_Buff
{
public:
int32_t bonus_per_upgrade; // 0x11d8
};
// Alignment: 0
// Size: 0x630
class C_DOTA_Item_UpgradedBarricade : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_UpgradedBarricade : public CDOTA_Buff
{
public:
int32_t armor_bonus_per_upgrade; // 0x11d8
int32_t hp_bonus_per_upgrade; // 0x11dc
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Creature_HybridFlyer : public CDOTA_Buff
{
public:
CountdownTimer m_ctTimer; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Creature_Full_Avoidance : public CDOTA_Buff
{
public:
float m_flOriginalAvoidance; // 0x11d8
};
// Alignment: 0
// Size: 0x630
class C_DOTA_Item_BagOfGold : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_LootDrop_Thinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_Frostivus2018_Summon_Snowman_Thinker : public CDOTA_Buff
{
public:
float tick_rate; // 0x11d8
int32_t taunt_radius; // 0x11dc
float taunt_duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Snowman_Taunt : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hZombieTarget; // 0x11d8
bool m_bDidSetAttackTarget; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Decorate_Tree : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_Frostivus2018_Decorate_Tree_Thinker : public CDOTA_Buff
{
public:
int32_t num_explosions; // 0x11d8
int32_t radius; // 0x11dc
float m_fExplosions; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Festive_Firework : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_FestiveFirework : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_FestiveFirework_Blind : public CDOTA_Buff
{
public:
int32_t miss_rate; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float duration; // 0x11dc
float tick_interval; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Siege_Fireball_Burn : public CDOTA_Buff
{
public:
int32_t damage_per_tick; // 0x11d8
float tick_interval; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Frostivus2018_FacelessVoid_TimeLock : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeLock : public CDOTA_Buff
{
public:
float duration; // 0x11d8
float duration_creep; // 0x11dc
int32_t chance_pct; // 0x11e0
int32_t bonus_damage; // 0x11e4
int32_t radius; // 0x11e8
};
// Alignment: 1
// Size: 0x11f0
class CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker : public CDOTA_Buff
{
public:
CUtlVector< CDOTA_Modifier_Frostivus2018_FacelessVoid_TimeWalk_Tracker::sDamageSources > m_vDamageSources; // 0x11d8
};
// 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: 0x1238
class CDOTA_Modifier_Frostivus2018_Luna_Eclipse : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t radius; // 0x11dc
int32_t beams; // 0x11e0
int32_t hit_count; // 0x11e4
int32_t m_iBeamDamage; // 0x11e8
float m_flBeamStun; // 0x11ec
Vector vPosition; // 0x11f0
int32_t lucent_beam_radius; // 0x11fc
bool bAreaTarget; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_iTickCount; // 0x1204
ParticleIndex_t m_nMoonlightFXIndex; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_HitTargets; // 0x1210
float beam_interval; // 0x1228
float beam_interval_scepter; // 0x122c
float m_flInterval; // 0x1230
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Frostivus2018_Clinkz_Strafe : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_Clinkz_Strafe : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus_pct; // 0x11d8
int32_t attack_spill_width; // 0x11dc
int32_t attack_spill_range; // 0x11e0
float spill_damage_multiplier; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Frostivus2018_Clinkz_SearingArrows : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 6
// Size: 0x1208
class CDOTA_Modifier_Frostivus2018_Clinkz_SearingArrows : public CDOTA_Buff
{
public:
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11d8
bool m_bBonusAttack; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
int32_t damage_bonus; // 0x11f4
int32_t attack_spill_width; // 0x11f8
int32_t attack_spill_range; // 0x11fc
float spill_damage_multiplier; // 0x1200
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Clinkz_WindWalk : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1218
class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk : public CDOTA_Modifier_Invisible
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11e8
bool m_bFreePathing; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t move_speed_bonus_pct; // 0x1204
int32_t radius; // 0x1208
int32_t attack_steal_amount; // 0x120c
float attack_steal_duration; // 0x1210
int32_t max_stacks; // 0x1214
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_BonusDamage : public CDOTA_Buff
{
public:
int32_t bonus_base_dmg_per_stack; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Clinkz_WindWalk_AttackDebuff : public CDOTA_Buff
{
public:
int32_t attack_steal_amount; // 0x11d8
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_Frostivus2018_Clinkz_Burning_Army : public C_DOTABaseAbility
{
public:
int32_t range; // 0x5a0
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army_Thinker : public CDOTA_Buff
{
public:
int32_t m_iCount; // 0x11d8
Vector m_vFacePosition; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Clinkz_Burning_Army : public CDOTA_Buff
{
public:
float attack_rate; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
class CDOTA_Modifier_Tusk_SnowballMeteor_Land : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_Slow : public CDOTA_Buff
{
public:
int32_t move_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Tusk_WalrusKick_AirTime : public CDOTA_Buff
{
public:
int32_t hp_threshold; // 0x11d8
};
// 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: 0x11f8
class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Buff : public CDOTA_Buff
{
public:
GameTime_t m_flStartTime; // 0x11d8
float damage; // 0x11dc
float max_damage_duration; // 0x11e0
float slow_radius; // 0x11e4
float burn_duration; // 0x11e8
float burn_damage; // 0x11ec
float slow_attack_speed_pct; // 0x11f0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_DarkWillow_ShadowRealm_Burn_Slow : public CDOTA_Buff
{
public:
float burn_damage; // 0x11d8
int32_t move_slow; // 0x11dc
float m_flDamageScale; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_DarkWillow_BrambleMaze : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Creation_Thinker : public CDOTA_Buff
{
public:
float latch_creation_interval; // 0x11d8
float initial_creation_delay; // 0x11dc
int32_t placement_count; // 0x11e0
float placement_duration; // 0x11e4
int32_t m_iBramblesIndex; // 0x11e8
};
// Alignment: 7
// Size: 0x1200
class CDOTA_Modifier_Frostivus2018_DarkWillow_BrambleMaze_Thinker : public CDOTA_Buff
{
public:
int32_t latch_count; // 0x11d8
int32_t latch_range; // 0x11dc
int32_t latch_vision; // 0x11e0
float latch_creation_delay; // 0x11e4
float latch_duration; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11ec[0x8]; // 0x11ec
public:
bool m_bActive; // 0x11f4
private:
[[maybe_unused]] uint8_t __pad11f5[0x3]; // 0x11f5
public:
int32_t m_nLatchedEnemies; // 0x11f8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_DarkWillow_Bedlam : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_Frostivus2018_DarkWillow_Bedlam : public CDOTA_Buff
{
public:
float m_flRotation; // 0x11d8
CHandle< C_BaseEntity > m_hWisp; // 0x11dc
GameTime_t m_flLastAttack; // 0x11e0
int32_t roaming_radius; // 0x11e4
int32_t attack_radius; // 0x11e8
float roaming_seconds_per_rotation; // 0x11ec
float attack_interval; // 0x11f0
int32_t attack_targets; // 0x11f4
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Ability_Frostivus2018_Puck_DreamCoil : public C_DOTABaseAbility
{
public:
CHandle< C_BaseEntity > m_hThinker; // 0x5a0
};
// Alignment: 10
// Size: 0x1228
class CDOTA_Modifier_Frostivus2018_Puck_DreamCoil_Thinker : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_hLinkedEntities; // 0x11d8
int32_t coil_radius; // 0x11f0
int32_t coil_break_radius; // 0x11f4
float coil_stun_duration; // 0x11f8
float coil_stun_duration_scepter; // 0x11fc
float coil_slow; // 0x1200
int32_t coil_break_damage; // 0x1204
int32_t coil_break_damage_scepter; // 0x1208
bool m_bHasScepter; // 0x120c
private:
[[maybe_unused]] uint8_t __pad120d[0x3]; // 0x120d
public:
CUtlVector< ParticleIndex_t > m_FXIndex; // 0x1210
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion : public CDOTA_Buff
{
public:
int32_t damage_reflection_pct; // 0x11d8
};
// Alignment: 10
// Size: 0x1230
class CDOTA_Modifier_Frostivus2018_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff
{
public:
float m_fDamage; // 0x11d8
float m_fLastRadius; // 0x11dc
float m_fCurRadius; // 0x11e0
GameTime_t m_fLastThink; // 0x11e4
bool m_bContracting; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x7]; // 0x11e9
public:
CountdownTimer m_ViewerTimer; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1210
int32_t speed; // 0x1228
int32_t radius; // 0x122c
};
// 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: 0x11e0
class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Slow : public CDOTA_Buff
{
public:
int32_t slow_movement_speed; // 0x11d8
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Frostivus2018_Centaur_Stampede : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage_reduction; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_hEntitiesAffected; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Centaur_Stampede_Bonus_Armor : public CDOTA_Buff
{
public:
int32_t bonus_base_armor_per_stack; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Frostivus2018_Centaur_Return : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Centaur_Return_Aura : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_Centaur_Return : public CDOTA_Buff
{
public:
int32_t return_damage; // 0x11d8
float strength_gain_duration; // 0x11dc
int32_t max_stacks; // 0x11e0
int32_t ally_factor; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Centaur_Return_Bonus_Strength : public CDOTA_Buff
{
public:
int32_t strength_gain; // 0x11d8
};
// 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: 0x11d8
class CDOTA_Modifier_Frostivus2018_Huskar_Inner_Fire_Disarm : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11f8
class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Self : public CDOTA_Buff
{
public:
int32_t health_cost; // 0x11d8
int32_t spear_aoe; // 0x11dc
CUtlVector< int16 > m_InFlightAttackRecords; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Huskar_Burning_Spear : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Counter : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Huskar_Burning_Spear_Debuff : public CDOTA_Buff
{
public:
int32_t burn_damage; // 0x11d8
float tick_rate; // 0x11dc
};
// 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: 0x11e0
class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Omniknight_Degen_Aura_Effect : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
int32_t bonus_health_regen; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Omniknight_Repel : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Frostivus2018_Omniknight_Repel : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_Frostivus2018_Magnataur_Skewer_Bonus_Strength : public CDOTA_Buff
{
public:
int32_t strength_gain; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_Pangolier_ShieldCrash : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x1208
class CDOTA_Modifier_Frostivus2018_TrollWarlord_BattleTrance : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t lifesteal; // 0x11e0
int32_t bonus_damage_pct; // 0x11e4
float cleave_damage_pct; // 0x11e8
int32_t cleave_starting_width; // 0x11ec
int32_t cleave_ending_width; // 0x11f0
int32_t cleave_distance; // 0x11f4
float splash_damage_pct; // 0x11f8
int32_t splash_radius; // 0x11fc
CHandle< C_BaseEntity > m_hTarget; // 0x1200
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Frostivus2018_TrollWarlord_Fervor : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_TrollWarlord_Fervor : public CDOTA_Buff
{
public:
int32_t attack_speed; // 0x11d8
int32_t max_stacks; // 0x11dc
CHandle< C_BaseEntity > m_hUnit; // 0x11e0
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Frostivus2018_Earthshaker_Aftershock : public CDOTA_Buff
{
public:
int32_t aftershock_range; // 0x11d8
float stun_duration; // 0x11dc
int32_t ability_damage; // 0x11e0
};
// 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: 0x1220
class CDOTA_Modifier_Frostivus2018_Weaver_GeminateAttack : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
int32_t m_iAttacksRemaining; // 0x11dc
private:
[[maybe_unused]] uint8_t __pad11e0[0x38]; // 0x11e0
public:
int32_t arrow_count; // 0x1218
int32_t bonus_range; // 0x121c
};
// 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: 0x11d8
class CDOTA_Modifier_Diretide_Portal_Channeling : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Diretide_Portal_Buff : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hInvader; // 0x11d8
};
// 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: 0x11f0
class CDOTA_Modifier_Seasonal_Diretide2020_HighFiveRequested : public CDOTA_Buff
{
public:
int32_t acknowledge_range; // 0x11d8
float think_interval; // 0x11dc
float acknowledged_cooldown; // 0x11e0
bool m_bAcknowledged; // 0x11e4
bool m_bFirstThink; // 0x11e5
private:
[[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6
public:
int32_t high_five_level; // 0x11e8
};
// Alignment: 1
// Size: 0x638
class C_DOTA_Item_Spring2021_DefusalBomb : public C_DOTA_Item
{
public:
bool m_bInBombSite; // 0x630
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spring2021_BombHolder : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Spring2021_BombPlantable : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Spring2021_DefusalBomb : public CDOTA_Buff
{
public:
float BOMB_DURATION; // 0x11d8
float BOMB_FAST_TICK_START; // 0x11dc
float BOMB_DEFAULT_TICK; // 0x11e0
};
// 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: 0x1230
class CDOTA_Modifier_Spring2021_TowerDeathRing_Thinker : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
bool m_bWindingUp; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CountdownTimer m_ViewerTimer; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1208
int32_t speed; // 0x1220
int32_t radius; // 0x1224
int32_t damage; // 0x1228
float windup_time; // 0x122c
};
// Alignment: 0
// Size: 0x11d8
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: 0x1228
class CDOTA_Modifier_AghsFort_Tower_BlastWave_Thinker : public CDOTA_Buff
{
public:
float damage_pct; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CountdownTimer m_ViewerTimer; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1208
int32_t speed; // 0x1220
int32_t radius; // 0x1224
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_TempBuff_CorpseExplosion : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_TempBuff_CorpseExplosion_Debuff : public CDOTA_Buff
{
public:
int32_t corpse_explosion_radius; // 0x11d8
int32_t corpse_explosion_damage_pct; // 0x11dc
int32_t corpse_explosion_chance_pct; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_Reward_HPAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_HPAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_HPAura_Bonus : public CDOTA_Buff
{
public:
float bonus_hp; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_Reward_CritAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_CritAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_CritAura_Bonus : public CDOTA_Buff
{
public:
int32_t crit_chance; // 0x11d8
int32_t crit_multiplier; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_Reward_MagicResistAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_MagicResistAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_magical_armor; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_Reward_ArmorAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_ArmorAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Reward_ArmorAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_Ascension_PlasmaField : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 15
// Size: 0x1240
class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Thinker : public CDOTA_Buff
{
public:
float m_fLastRadius; // 0x11d8
float m_fCurRadius; // 0x11dc
GameTime_t m_fLastThink; // 0x11e0
bool m_bWindingUp; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
CountdownTimer m_ViewerTimer; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1204[0x4]; // 0x1204
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1208
int32_t speed; // 0x1220
int32_t radius; // 0x1224
int32_t damage_min; // 0x1228
int32_t damage_max; // 0x122c
int32_t slow_min; // 0x1230
int32_t slow_max; // 0x1234
float slow_duration; // 0x1238
float windup_time; // 0x123c
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ascension_PlasmaField_Slow : public CDOTA_Buff
{
public:
int32_t slow_amount; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Ascension_Bulwark : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Ascension_Bulwark : public CDOTA_Buff
{
public:
float physical_damage_reduction; // 0x11d8
float physical_damage_reduction_side; // 0x11dc
float forward_angle; // 0x11e0
float side_angle; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Ascension_AcidBlood : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Ascension_AcidBlood_Thinker : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
int32_t radius; // 0x11dc
ParticleIndex_t m_nFXIndex; // 0x11e0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Ascension_AcidBlood : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_Ascension_Firefly : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 14
// Size: 0x1230
class CDOTA_Modifier_AghsFort_Firefly : public CDOTA_Buff
{
public:
float pool_duration; // 0x11d8
int32_t radius; // 0x11dc
int32_t m_ifirefly_Active; // 0x11e0
int32_t tree_radius; // 0x11e4
int32_t damage_pct_per_second; // 0x11e8
int32_t movement_speed; // 0x11ec
float trail_placement_duration; // 0x11f0
float burn_linger_duration; // 0x11f4
bool m_bActive; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9
public:
ParticleIndex_t m_nFXIndex; // 0x11fc
ParticleIndex_t m_nFXIndexB; // 0x1200
GameTime_t m_flStartTime; // 0x1204
Vector m_vLastFirePoolLoc; // 0x1208
private:
[[maybe_unused]] uint8_t __pad1214[0x4]; // 0x1214
public:
CUtlVector< Vector > m_vFirePoolLocations; // 0x1218
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Firefly_Burn : public CDOTA_Buff
{
public:
int32_t damage_pct_per_second; // 0x11d8
int32_t movement_speed; // 0x11dc
float tick_interval; // 0x11e0
GameTime_t m_fNextDamageTick; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_Ascension_Silence : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Ascension_Silence_Charge : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Ascension_Silence : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Thinker_Evasion : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t radius; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Ascension_MagneticField_Evasion : public CDOTA_Buff
{
public:
int32_t evasion_chance; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_AghsFort_Ascension_Invis : public C_DOTABaseAbility
{
public:
float warning_duration; // 0x5a0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Ascension_Invis_Warning : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Ascension_Invis : public CDOTA_Modifier_PersistentInvisibility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Ascension_Meteoric_Land : public CDOTA_Buff
{
public:
int32_t impact_radius; // 0x11d8
float land_time; // 0x11dc
float burn_duration; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_Morty_Hop : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t height; // 0x11dc
int32_t damage; // 0x11e0
int32_t damage_radius; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_ExplosiveBarrel : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_ExplosiveBarrel : public CDOTA_Buff
{
public:
ParticleIndex_t m_nPreviewFX; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage; // 0x11e0
int32_t vision_radius; // 0x11e4
float vision_duration; // 0x11e8
int32_t model_scale; // 0x11ec
bool bExploding; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f1[0x3]; // 0x11f1
public:
float stun_duration; // 0x11f4
};
// Alignment: 10
// Size: 0x1218
class CDOTA_Modifier_AghsFort_PlayerTransform : public CDOTA_Buff
{
public:
itemid_t m_nCourierItemId; // 0x11d8
CUtlString m_ModelNameOfDisguise; // 0x11e0
private:
[[maybe_unused]] uint8_t __pad11e8[0x8]; // 0x11e8
public:
int32_t m_nMoveSpeed; // 0x11f0
int32_t m_nDisguisedSpeed; // 0x11f4
ParticleIndex_t m_nDisguiseEffectIndex; // 0x11f8
CHandle< C_BaseEntity > m_hCourier; // 0x11fc
bool m_bIsFlyingCourier; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x7]; // 0x1201
public:
char* s_pszDonkeyDisguise; // 0x1208
float invul_duration; // 0x1210
bool m_bParticlesSpawned; // 0x1214
};
// 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: 0x11d8
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: 0x1208
class CDOTA_Modifier_AghsFort_DragonPotion : public CDOTA_Buff_Item
{
public:
int32_t m_iOriginalAttackCapabilities; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11dc[0x4]; // 0x11dc
public:
CUtlSymbolLarge m_iszRangedAttackEffect; // 0x11e0
int32_t bonus_movement_speed; // 0x11e8
int32_t bonus_attack_damage; // 0x11ec
int32_t bonus_attack_range; // 0x11f0
int32_t attack_projectile_speed; // 0x11f4
int32_t magic_resistance; // 0x11f8
int32_t model_scale; // 0x11fc
int32_t skin_number; // 0x1200
bool flying_movement; // 0x1204
};
// 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: 0x11e0
class CDOTA_Modifier_AghsFort_Arcanist_Potion : public CDOTA_Buff
{
public:
int32_t m_nCooldownReductionPct; // 0x11d8
int32_t m_nManaCostReductionPct; // 0x11dc
};
// 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: 0x11d8
class CDOTA_Modifier_AghsFort_EchoSlamPotion_Debuff : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_Potion_SpendCharge : public CDOTA_Buff_Item
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Thinker : public CDOTA_Buff_Item
{
public:
float m_fProcChance; // 0x11d8
int32_t m_nRadius; // 0x11dc
int32_t m_nMovespeedBonus; // 0x11e0
float m_fStunDuration; // 0x11e4
float m_fSlowDuration; // 0x11e8
float m_fDelay; // 0x11ec
int32_t m_nTorrentDamage; // 0x11f0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent : public CDOTA_Buff_Item
{
public:
int32_t m_nTorrentDamage; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_TorrentEffectPotion_Torrent_Slow : public CDOTA_Buff
{
public:
int32_t m_nMovespeedBonus; // 0x11d8
};
// Alignment: 0
// Size: 0x630
class CDOTA_Ability_AghsFort_ShadowWaveEffectPotion : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1218
class CDOTA_Modifier_AghsFort_ShadowWaveEffectPotion : public CDOTA_Buff_Item
{
public:
int32_t m_iCurJumpCount; // 0x11d8
Vector m_vCurTargetLoc; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_hHitEntities; // 0x11e8
float m_fProcChance; // 0x1200
int32_t m_nCastRange; // 0x1204
int32_t m_nBounceRadius; // 0x1208
int32_t m_nDamageRadius; // 0x120c
int32_t m_nDamage; // 0x1210
int32_t m_nMaxTargets; // 0x1214
};
// 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: 0x1218
class CDOTA_Modifier_Aghsfort_Minor_Stats_Upgrade : public CDOTA_Buff
{
public:
int32_t bonus_all_stats; // 0x11d8
int32_t bonus_primary_stat; // 0x11dc
int32_t bonus_movespeed; // 0x11e0
int32_t bonus_hp_regen; // 0x11e4
int32_t bonus_armor; // 0x11e8
int32_t bonus_attack_damage; // 0x11ec
int32_t bonus_cast_range; // 0x11f0
int32_t bonus_spell_amp; // 0x11f4
int32_t bonus_health; // 0x11f8
int32_t bonus_mana; // 0x11fc
int32_t bonus_attack_speed; // 0x1200
int32_t bonus_heal_amp; // 0x1204
int32_t bonus_mana_regen; // 0x1208
int32_t bonus_evasion; // 0x120c
int32_t bonus_magic_resist; // 0x1210
int32_t bonus_lifesteal; // 0x1214
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_AghsFort_SwampSickness : public CDOTA_Buff
{
public:
int32_t slow_percent; // 0x11d8
bool m_bInRiver; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_RestorativeFlower : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 8
// Size: 0x11f8
class CDOTA_Modifier_AghsFort_RestorativeFlower : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t heal; // 0x11dc
int32_t vision_radius; // 0x11e0
float vision_duration; // 0x11e4
int32_t model_scale; // 0x11e8
bool bExploding; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11ed[0x3]; // 0x11ed
public:
float stun_duration; // 0x11f0
ParticleIndex_t m_nFXAmbient; // 0x11f4
};
// 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: 0x1200
class CDOTA_Modifier_AghsFort_StonehallGeneral_OverwhelmingOdds_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t max_steps; // 0x11dc
float damage_interval; // 0x11e0
int32_t m_nNumSteps; // 0x11e4
int32_t m_nRadiusStep; // 0x11e8
ParticleIndex_t m_nFXIndex; // 0x11ec
Vector m_vDir; // 0x11f0
};
// Alignment: 10
// Size: 0x1200
class CDOTA_Modifier_Boss_DarkWillow_Bedlam : public CDOTA_Buff
{
public:
float m_flRotation; // 0x11d8
CHandle< C_BaseEntity > m_hWisp; // 0x11dc
GameTime_t m_flLastAttack; // 0x11e0
bool reversed; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t roaming_radius; // 0x11e8
int32_t attack_radius; // 0x11ec
float roaming_seconds_per_rotation; // 0x11f0
float attack_interval; // 0x11f4
bool m_bSetupWarning; // 0x11f8
private:
[[maybe_unused]] uint8_t __pad11f9[0x3]; // 0x11f9
public:
ParticleIndex_t m_nPreviewFX; // 0x11fc
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion : public CDOTA_Buff
{
public:
int32_t damage_reflection_pct; // 0x11d8
};
// Alignment: 10
// Size: 0x1230
class CDOTA_Modifier_AghsFort_Spectre_ActiveDispersion_Thinker : public CDOTA_Buff
{
public:
float m_fDamage; // 0x11d8
float m_fLastRadius; // 0x11dc
float m_fCurRadius; // 0x11e0
GameTime_t m_fLastThink; // 0x11e4
bool m_bContracting; // 0x11e8
private:
[[maybe_unused]] uint8_t __pad11e9[0x7]; // 0x11e9
public:
CountdownTimer m_ViewerTimer; // 0x11f0
ParticleIndex_t m_nFXIndex; // 0x1208
private:
[[maybe_unused]] uint8_t __pad120c[0x4]; // 0x120c
public:
CUtlVector< CHandle< C_BaseEntity > > m_EntitiesHit; // 0x1210
int32_t speed; // 0x1228
int32_t radius; // 0x122c
};
// 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: 0x11d8
class CDOTA_Modifier_AghsFort_RockGolem_Avalanche_Stun : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1208
class CDOTA_Modifier_AghsFort_RockGolem_Avalanche : public CDOTA_Buff
{
public:
CUtlVector< C_DOTA_BaseNPC* > m_pHeroesHit; // 0x11d8
int32_t radius; // 0x11f0
float total_duration; // 0x11f4
float stun_duration; // 0x11f8
int32_t tick_count; // 0x11fc
int32_t m_damage; // 0x1200
int32_t m_nTicks; // 0x1204
};
// 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: 0x11e0
class CDOTA_Modifier_AghsFort_Creature_Phoenix_FireSpiritCount : public CDOTA_Buff
{
public:
int32_t spirit_count; // 0x11d8
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// 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: 0x11f8
class CDOTA_Modifier_AghsFort_Creature_Phoenix_Sun : public CDOTA_Buff
{
public:
int32_t aura_radius; // 0x11d8
float stun_duration; // 0x11dc
int32_t max_hero_attacks; // 0x11e0
int32_t max_hero_attacks_scepter; // 0x11e4
int32_t max_hero_attacks_required; // 0x11e8
float caster_life_pct; // 0x11ec
CHandle< C_BaseEntity > m_hSecondaryTarget; // 0x11f0
int32_t m_iAttackCount; // 0x11f4
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_PudgeMiniboss_HatefulStrike : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_PudgeMiniboss_HatefulStrike : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t maxhp_percent_damage; // 0x11dc
int32_t every_n_attacks; // 0x11e0
bool crit_active; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_PudgeMiniboss_ArmorCorruption : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PudgeMiniboss_ArmorCorruption : public CDOTA_Buff
{
public:
float armor_reduction_per_stack; // 0x11d8
float stack_duration; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PudgeMiniboss_ArmorCorruptionDebuff : public CDOTA_Buff
{
public:
float armor_reduction_per_stack; // 0x11d8
float stack_duration; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Wave_Blast_Knockback : public CDOTA_Buff
{
public:
float disarm_duration; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_AghsFort_Waveblaster_Leap : public CDOTA_Buff
{
public:
float leap_speed; // 0x11d8
float leap_acceleration; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_Morphling_Waveform : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
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: 0x11e0
class CDOTA_Modifier_AghsFort_Creature_SpikedCarapace : public CDOTA_Buff
{
public:
float stun_duration; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghsfort_Walrus_Pudge_Harpoon : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Walrus_Pudge_Harpoon_PathingFix : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f0
class CDOTA_Modifier_Creature_Flamestrike : public CDOTA_Buff
{
public:
int32_t impact_radius; // 0x11d8
float ground_burn_duration; // 0x11dc
float damage; // 0x11e0
int32_t vision_distance; // 0x11e4
float vision_duration; // 0x11e8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Creature_Flamestrike_Ground : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
int32_t burn_radius; // 0x11dc
int32_t burn_dps; // 0x11e0
};
// 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: 0x11d8
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: 0x11e0
class CDOTA_Modifier_PineCone_ShieldBash_Slow : public CDOTA_Buff
{
public:
int32_t knockback_slow; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PineCone_ShieldBash_Crit : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
};
// 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: 0x11d8
class CDOTA_Modifier_PineCone_AcornShot_DelayThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_PineCone_AcornShot_TreeThinker : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PineCone_AcornShot_BonusDamage : public CDOTA_Buff
{
public:
int32_t acorn_shot_damage; // 0x11d8
int32_t base_damage_pct; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_PineCone_AcornShot_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_Lifestealer_Enraged_Pulse : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Lifestealer_Enraged_Pulse : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_UrnUpheaval : public CDOTA_Buff
{
public:
int32_t m_iSlow; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_UpheavalUrn_Reincarnation : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_UpheavalUrn_Reincarnation : public CDOTA_Buff
{
public:
float reincarnate_time; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f0
class CDOTA_Modifier_AghsFort_Shadow_Demon_Shadow_Poison : public CDOTA_Buff
{
public:
float stack_damage; // 0x11d8
float bonus_stack_damage; // 0x11dc
int32_t max_multiply_stacks; // 0x11e0
int32_t release_at_max_stacks; // 0x11e4
ParticleIndex_t m_nFXStackIndex; // 0x11e8
};
// 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: 0x11f0
class CDOTA_Modifier_AghsFort_ShadowShaman_Shackles : public CDOTA_Buff
{
public:
float tick_interval; // 0x11d8
float total_damage; // 0x11dc
float channel_time; // 0x11e0
};
// 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: 0x1228
class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether : public CDOTA_Buff
{
public:
bool m_bInManaGained; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > hStunnedEntities; // 0x11e0
float slow_duration; // 0x11f8
int32_t movespeed; // 0x11fc
int32_t self_bonus; // 0x1200
bool m_bIsInRange; // 0x1204
private:
[[maybe_unused]] uint8_t __pad1205[0x3]; // 0x1205
public:
int32_t radius; // 0x1208
int32_t latch_distance; // 0x120c
float m_flHealthHealed; // 0x1210
float m_flManaHealed; // 0x1214
float tether_heal_amp; // 0x1218
GameTime_t m_flHealMessageTime; // 0x121c
GameTime_t m_flManaMessageTime; // 0x1220
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Haste : public CDOTA_Buff
{
public:
int32_t movement_speed; // 0x11d8
int32_t attack_speed; // 0x11dc
int32_t health_regen; // 0x11e0
int32_t status_resist; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Aghanim_Spear : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Elemental_Wisp_Tether_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_Aghsfort_Wildwing_Tornado_Blast_Debuff : public CDOTA_Buff
{
public:
GameTime_t m_flStartTime; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_TreantMiniboss_NaturesGuise : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1220
class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise : public CDOTA_Buff
{
public:
CountdownTimer m_RevealTimer; // 0x11d8
CountdownTimer m_InvisAttackTimer; // 0x11f0
CountdownTimer m_CooldownTimer; // 0x1208
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Tree_Walking : public CDOTA_Buff
{
public:
int32_t movement_bonus; // 0x11d8
int32_t regen_amp; // 0x11dc
};
// Alignment: 0
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Invis : public CDOTA_Modifier_Invisible
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_NearTreeDisplay : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_TreantMiniboss_NaturesGuise_Root : public CDOTA_Buff
{
public:
float m_iEntangleDamage; // 0x11d8
};
// 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: 0x1208
class CDOTA_Modifier_AghsFort_PoisonNova_Creature_Thinker : public CDOTA_Buff
{
public:
float m_fCurRadius; // 0x11d8
GameTime_t m_fLastThink; // 0x11dc
CUtlVector< CHandle< C_BaseEntity > > m_entitiesHit; // 0x11e0
int32_t speed; // 0x11f8
int32_t radius; // 0x11fc
int32_t start_radius; // 0x1200
float duration; // 0x1204
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonNova : public CDOTA_Buff
{
public:
int32_t damage; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_AghsFort_Ability_Creature_Venomancer_PoisonSting : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_Creature_Venomancer_PoisonSting_Applier : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t damage; // 0x11dc
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_AghsFort_Venomancer_PoisonSting : public CDOTA_Buff
{
public:
int32_t m_iDamage; // 0x11d8
int32_t movement_speed; // 0x11dc
int32_t m_nTicksRemaining; // 0x11e0
float m_flAttackDamage; // 0x11e4
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_Aghsfort_Aziyog_Underlord_Firestorm : public C_DOTABaseAbility
{
public:
ParticleIndex_t m_nFXIndex; // 0x5a0
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Thinker : public CDOTA_Buff
{
public:
int32_t wave_damage; // 0x11d8
int32_t wave_count; // 0x11dc
int32_t radius; // 0x11e0
int32_t summon_count; // 0x11e4
float wave_interval; // 0x11e8
float burn_duration; // 0x11ec
float first_wave_delay; // 0x11f0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Firestorm_Burn : public CDOTA_Buff
{
public:
float burn_damage; // 0x11d8
float burn_interval; // 0x11dc
};
// 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: 0x11d8
class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel_Soundstop : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_Warp_Channel : public CDOTA_Buff
{
public:
ParticleIndex_t m_nfxTargetTp; // 0x11d8
ParticleIndex_t m_nfxTargetTp2; // 0x11dc
ParticleIndex_t m_nfxAmbientFx; // 0x11e0
ParticleIndex_t m_nfxPortal1; // 0x11e4
ParticleIndex_t m_nfxPortal2; // 0x11e8
float animation_rate; // 0x11ec
int32_t stop_distance; // 0x11f0
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Ability_Aghsfort_Aziyog_Underlord_Dark_Portal : public C_DOTABaseAbility
{
public:
float duration; // 0x5a0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Aghsfort_Aziyog_Underlord_Portal_FX : public CDOTA_Buff
{
public:
ParticleIndex_t m_nPortalAmbientFX; // 0x11d8
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_Aghsfort_Bonus_Pudge_MeatHook : public C_DOTABaseAbility
{
public:
// MNetworkEnable
int32_t m_nConsecutiveHits; // 0x5a0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Aghsfort_Bonus_Pudge_Meat_Hook : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1208
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: 0x11e0
class CDOTA_Aghsfort_Modifier_Magnus_Push_Skewer_Movement : public CDOTA_Buff
{
public:
int32_t m_nProjectileID; // 0x11d8
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Aghsfort_Ability_Hoodwink_HuntersBoomerang : public C_DOTABaseAbility
{
public:
int32_t min_distance; // 0x5a0
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_Aghsfort_Pugna_Grandmaster_NetherWard : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float mana_multiplier; // 0x11dc
float mana_drained_per_attack; // 0x11e0
};
// 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: 0x1250
class CDOTA_Modifier_AghsFort_AssaultCaptain_SunRay : public CDOTA_Buff
{
public:
int32_t hp_cost_perc_per_second; // 0x11d8
int32_t beam_range; // 0x11dc
int32_t base_damage; // 0x11e0
int32_t base_heal; // 0x11e4
float tick_interval; // 0x11e8
float forward_move_speed; // 0x11ec
float turn_rate_initial; // 0x11f0
float turn_rate; // 0x11f4
int32_t radius; // 0x11f8
int32_t self_turn_rate_percent; // 0x11fc
float m_flCurrentTime; // 0x1200
GameTime_t m_flLastDamageTime; // 0x1204
float m_flAccumulatedSelfDamage; // 0x1208
bool m_bMovingForward; // 0x120c
bool m_bTurningFast; // 0x120d
private:
[[maybe_unused]] uint8_t __pad120e[0x2]; // 0x120e
public:
float m_flFacingTarget; // 0x1210
float hp_perc_damage; // 0x1214
float hp_perc_heal; // 0x1218
ParticleIndex_t m_nBeamFXIndex; // 0x121c
CHandle< C_BaseEntity > m_hVisionThinkers[8]; // 0x1220
CHandle< C_BaseEntity > m_hBeamEnd; // 0x1240
bool m_bCreatedVisionThinkers; // 0x1244
private:
[[maybe_unused]] uint8_t __pad1245[0x3]; // 0x1245
public:
CHandle< C_BaseEntity > m_hBeamEndSound; // 0x1248
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Thinker : public CDOTA_Buff
{
public:
int32_t freeze_radius; // 0x11d8
int32_t freeze_damage; // 0x11dc
float freeze_debuff_duration; // 0x11e0
float freeze_delay; // 0x11e4
ParticleIndex_t m_nFXIndex; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_AghsFort_BossWinterWyvern_Cold_Embrace_Debuff : public CDOTA_Buff
{
public:
int32_t linger_movement_slow; // 0x11d8
int32_t linger_damage; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_AghsFort_TrapRoom_Hookshot : public CDOTA_Buff
{
private:
[[maybe_unused]] uint8_t __pad11d8[0x8]; // 0x11d8
public:
int32_t speed; // 0x11e0
float duration; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_AghsFort_TrapRoom_MeatHook : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook_PathingFix : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_AghsFort_TrapRoom_MeatHook : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
class CDOTA_Modifier_AghsFort_Watch_Tower_Capturing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 15
// Size: 0x1220
class CDOTA_Modifier_AghsFort_Watch_Tower : public CDOTA_Buff
{
public:
TowerState_t m_nState; // 0x11d8
float m_flYaw; // 0x11dc
int32_t m_nCaptureDuration; // 0x11e0
GameTime_t m_flEffectiveCaptureStartTime; // 0x11e4
int32_t m_nCapturingPlayerCount; // 0x11e8
float m_flCaptureProgress; // 0x11ec
int32_t m_iCapturingTeam; // 0x11f0
ParticleIndex_t m_nFxOutpostAmbient; // 0x11f4
GameTime_t m_flDestroyTime; // 0x11f8
GameTime_t m_flAutoChannelCompleteTime; // 0x11fc
bool m_bAscensionLevelPicker; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_nEliteChallengeLevel; // 0x1204
CUtlString m_strNextRoomName; // 0x1208
CUtlString m_strNextEncounterName; // 0x1210
bool m_bStartedBeamFacing; // 0x1218
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_HighFive : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_HighFiveRequested : public CDOTA_Buff
{
public:
int32_t acknowledge_range; // 0x11d8
float think_interval; // 0x11dc
float acknowledged_cooldown; // 0x11e0
bool m_bAcknowledged; // 0x11e4
bool m_bFirstThink; // 0x11e5
private:
[[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6
public:
int32_t high_five_level; // 0x11e8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Seasonal_TI10_Portal : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 15
// Size: 0x1240
class CDOTA_Modifier_Seasonal_TI10_Portal : public CDOTA_Buff
{
public:
Vector m_vSpawnPos; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11e4[0x4]; // 0x11e4
public:
CUtlVector< Vector > m_vecEmissions; // 0x11e8
bool m_bChatSent; // 0x1200
private:
[[maybe_unused]] uint8_t __pad1201[0x3]; // 0x1201
public:
int32_t m_nPhase; // 0x1204
int32_t m_nNumEmitted; // 0x1208
int32_t m_nNumDrops; // 0x120c
GameTime_t m_flStartTime; // 0x1210
GameTime_t m_flLastEmitTime; // 0x1214
bool m_bIsOnRadiant; // 0x1218
bool m_bUseLargeEmit; // 0x1219
private:
[[maybe_unused]] uint8_t __pad121a[0x2]; // 0x121a
public:
int32_t m_nOutcome; // 0x121c
private:
[[maybe_unused]] uint8_t __pad1220[0x10]; // 0x1220
public:
int32_t PHASE_OPEN; // 0x1230
int32_t PHASE_EMIT; // 0x1234
int32_t PHASE_EMIT_DONE; // 0x1238
int32_t PHASE_CLOSE; // 0x123c
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Seasonal_TI10_DiscoBall_Channeling : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t m_nGesture; // 0x11dc
};
// 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<char**>(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<char**>(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<char**>(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<char**>(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<char**>(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<char**>(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<char**>(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<char**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Ability_Seasonal_TI10_SoccerBall")->m_static_fields[7]->m_instance);};
};
// Alignment: 39
// Size: 0x12a0
class CDOTA_Modifier_Seasonal_TI10_SoccerBall : public CDOTA_Buff
{
public:
Vector m_vPost1; // 0x11d8
Vector m_vPost2; // 0x11e4
Vector m_vPostForward; // 0x11f0
ParticleIndex_t m_nPost1FXIndex; // 0x11fc
ParticleIndex_t m_nPost2FXIndex; // 0x1200
ParticleIndex_t m_nPost3FXIndex; // 0x1204
int32_t PHASE_START; // 0x1208
int32_t PHASE_GESTURE; // 0x120c
int32_t PHASE_FX; // 0x1210
int32_t PHASE_MOTION; // 0x1214
int32_t PHASE_IMPACT; // 0x1218
int32_t PHASE_FAIL; // 0x121c
int32_t PHASE_CROSSED_GOAL; // 0x1220
int32_t PHASE_GOAL; // 0x1224
float tick_interval; // 0x1228
float forward_move_speed; // 0x122c
float magnus_coefficient; // 0x1230
float magnus_falloff; // 0x1234
float drag_coefficient; // 0x1238
float min_delay; // 0x123c
float max_delay; // 0x1240
int32_t hit_radius; // 0x1244
ParticleIndex_t m_nFXIndex; // 0x1248
Vector m_vVelocity; // 0x124c
Vector m_vSpawnPos; // 0x1258
Vector m_vTargetPos; // 0x1264
int32_t m_nPhase; // 0x1270
int32_t m_nHits; // 0x1274
float m_flMagnusValue; // 0x1278
GameTime_t m_flStartTime; // 0x127c
float m_flDelay; // 0x1280
GameTime_t m_flStateChangeTime; // 0x1284
bool m_bFirstThink; // 0x1288
bool m_bGroundHit; // 0x1289
private:
[[maybe_unused]] uint8_t __pad128a[0x2]; // 0x128a
public:
PlayerID_t m_nTargetPlayerID; // 0x128c
float m_flCurTime; // 0x1290
float m_flStartZ; // 0x1294
float m_flAirTime; // 0x1298
float m_flHeight; // 0x129c
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Seasonal_TI10_HotPotato : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Seasonal_TI10_HotPotato_InboundPotato : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f0
class CDOTA_Modifier_Seasonal_TI10_HighFiveRequested : public CDOTA_Buff
{
public:
int32_t acknowledge_range; // 0x11d8
float think_interval; // 0x11dc
float acknowledged_cooldown; // 0x11e0
bool m_bAcknowledged; // 0x11e4
bool m_bFirstThink; // 0x11e5
private:
[[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6
public:
int32_t high_five_level; // 0x11e8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Seasonal_TI10_GuildBanner : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors_Playing : public CDOTA_Buff
{
public:
float input_duration; // 0x11d8
float think_interval; // 0x11dc
};
// Alignment: 8
// Size: 0x1200
class CDOTA_Modifier_Seasonal_TI11_RockPaperScissors : public CDOTA_Buff
{
public:
float challenge_duration; // 0x11d8
float reveal_duration; // 0x11dc
float reveal_delay; // 0x11e0
float completed_cooldown; // 0x11e4
float think_interval; // 0x11e8
float acknowledge_range; // 0x11ec
private:
[[maybe_unused]] uint8_t __pad11f0[0x4]; // 0x11f0
public:
GameTime_t m_flRevealTime; // 0x11f4
ParticleIndex_t m_nOverheadFXIndex; // 0x11f8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Seasonal_TI11_BubbleGun : public CDOTA_Buff
{
public:
float think_interval; // 0x11d8
int32_t max_charges; // 0x11dc
int32_t m_nChargesUsed; // 0x11e0
};
// 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: 0x11e0
class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Visuals : public CDOTA_Buff
{
public:
float model_scale_per_stack; // 0x11d8
bool m_bIsRadiant; // 0x11dc
};
// Alignment: 19
// Size: 0x1238
class CDOTA_Modifier_Seasonal_Summon_TI11_Balloon_Thinker : public CDOTA_Buff
{
public:
float speed; // 0x11d8
int32_t min_distance_before_bounce; // 0x11dc
float drag; // 0x11e0
float max_height; // 0x11e4
float max_vertical_move_time; // 0x11e8
float bounce_turn_angle; // 0x11ec
float bounce_turn_angle_tree; // 0x11f0
float bounce_delay; // 0x11f4
int32_t max_bounces; // 0x11f8
float max_model_scale; // 0x11fc
float power_growth_exponent; // 0x1200
Vector m_vLastPos; // 0x1204
Vector m_vDir; // 0x1210
float m_flSpeed; // 0x121c
float m_flDistRemaining; // 0x1220
float m_flTreeTimeRemaining; // 0x1224
int32_t m_nTimesBounced; // 0x1228
float m_flModelScale; // 0x122c
CHandle< C_BaseEntity > m_hLastHit; // 0x1230
};
// Alignment: 1
// Size: 0x5a8
class CDOTA_Ability_Seasonal_TI11_Duel : public C_DOTABaseAbility
{
public:
float model_scale; // 0x5a0
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Seasonal_TI11_DuelAccepted : public CDOTA_Buff
{
public:
PlayerID_t m_nDuelOpponent; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Seasonal_TI11_CongaLine : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Seasonal_TI11_CongaLineDancer : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Seasonal_TI11_CongaLineSlow : public CDOTA_Buff
{
public:
float m_flMaxSpeed; // 0x11d8
};
// 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: 0x11f0
class CDOTA_Modifier_Plus_HighFiveRequested : public CDOTA_Buff
{
public:
int32_t acknowledge_range; // 0x11d8
float think_interval; // 0x11dc
float acknowledged_cooldown; // 0x11e0
bool m_bAcknowledged; // 0x11e4
bool m_bFirstThink; // 0x11e5
private:
[[maybe_unused]] uint8_t __pad11e6[0x2]; // 0x11e6
public:
int32_t high_five_level; // 0x11e8
};
// 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: 0x11e8
class CDOTA_Modifier_Item_MuertasGun : public CDOTA_Buff_Item
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t bonus_cast_pct; // 0x11dc
int32_t bonus_spell_amp; // 0x11e0
int32_t health_pct_penalty; // 0x11e4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Muertas_Gun_Slow : public CDOTA_Buff
{
public:
int32_t impact_slow_percent; // 0x11d8
};
// Alignment: 1
// Size: 0x11e8
class CDOTA_Modifier_Muertas_Gun_Fear : public CDOTA_Buff
{
public:
Vector m_vFearDir; // 0x11d8
};
// Alignment: 0
// Size: 0x630
class C_DOTA_Item_Ofrenda_Pledge : public C_DOTA_Item
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11e0
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: 0x11e8
class CDOTA_Modifier_Item_AghsFort_Bloodstone_Active : public CDOTA_Buff
{
public:
int32_t mana_cost_percentage; // 0x11d8
float restore_duration; // 0x11dc
float m_flDrainAmount; // 0x11e0
};
// Alignment: 12
// Size: 0x1208
class CDOTA_Modifier_Item_AghsFort_Bloodstone : public CDOTA_Buff_Item
{
public:
int32_t bonus_health; // 0x11d8
int32_t bonus_mana; // 0x11dc
int32_t mana_regen_multiplier; // 0x11e0
float regen_per_charge; // 0x11e4
float amp_per_charge; // 0x11e8
int32_t death_charges; // 0x11ec
int32_t kill_charges; // 0x11f0
float hero_lifesteal; // 0x11f4
float creep_lifesteal; // 0x11f8
int32_t bonus_intellect; // 0x11fc
int32_t spell_amp; // 0x1200
int32_t spell_lifesteal_amp; // 0x1204
};
// Alignment: 0
// Size: 0x11d8
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<char**>(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<char**>(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: 0x11f8
class CDOTA_Modifier_Jungle_Spirit : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > hCasterList; // 0x11d8
bool bAcceptingGems; // 0x11f0
};
// Alignment: 5
// Size: 0x11f0
class CDOTA_Modifier_Spirit_Gem : public CDOTA_Buff
{
public:
float m_flOriginalModelScale; // 0x11d8
int32_t m_nHealthBarOffsetOverride; // 0x11dc
ParticleIndex_t m_nFXStackIndex; // 0x11e0
float m_fScaleGainPerGem; // 0x11e4
int32_t m_nLevel; // 0x11e8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Jungle_Spirit_Reductions : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1200
class CDOTA_Modifier_Jungle_Spirit_Reductions : public CDOTA_Buff
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecAlliesNearby; // 0x11d8
int32_t m_nAlliesNearby; // 0x11f0
int32_t stat_reduction_pct; // 0x11f4
int32_t armor_reduction; // 0x11f8
int32_t radius; // 0x11fc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Jungle_Spirit_Ally_Alert : public CDOTA_Buff
{
public:
GameTime_t m_flLastHowl; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Jungle_Spirit_RiverRejuvenation : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_JungleSpirit_RiverRejuvenation : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Effect : public CDOTA_Buff
{
public:
int32_t distance_from_shrine; // 0x11d8
};
// Alignment: 3
// Size: 0x11f0
class CDOTA_Modifier_JungleSpirit_RiverRejuvenation_Regen : public CDOTA_Buff
{
public:
int32_t health_restore; // 0x11d8
int32_t mana_restore; // 0x11dc
float regen_interval; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Special_Bonus_Unique_Morokai_TreantLevel : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x1230
class CDOTA_Modifier_Morokai_JungleHealBeam : public CDOTA_Buff
{
public:
int32_t beam_count; // 0x11d8
int32_t beam_range; // 0x11dc
int32_t beam_radius; // 0x11e0
int32_t beam_buffer; // 0x11e4
int32_t turn_rate; // 0x11e8
int32_t hp_per_second; // 0x11ec
GameTime_t m_flLastThinkTime; // 0x11f0
private:
[[maybe_unused]] uint8_t __pad11f4[0x1c]; // 0x11f4
public:
CUtlVector< CHandle< C_BaseEntity > > m_vecTargetedEntities; // 0x1210
float flLastTreeDestroyed; // 0x1228
float flTreeDestructionCooldown; // 0x122c
};
// 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: 0x1208
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: 0x1268
class CDOTA_Modifier_JungleSpirit_Storm_Cyclone : public CDOTA_Buff
{
public:
CUtlVector< ParticleIndex_t > m_FXIndex; // 0x11d8
CUtlVector< CHandle< C_BaseEntity > > m_hCyclones; // 0x11f0
int32_t projectile_distance; // 0x1208
int32_t projectile_radius; // 0x120c
int32_t projectile_amount; // 0x1210
float projectile_duration; // 0x1214
float delay; // 0x1218
GameTime_t m_flDieTime; // 0x121c
GameTime_t m_flStartTime; // 0x1220
private:
[[maybe_unused]] uint8_t __pad1224[0x4]; // 0x1224
public:
CUtlVector< Vector > m_vLeftControl; // 0x1228
CUtlVector< Vector > m_vSourceLoc; // 0x1240
Vector m_vTargetLoc; // 0x1258
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Debuff : public CDOTA_Buff
{
public:
GameTime_t m_flStartTime; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Jungle_Spirit_Storm_Cyclone_Invulnerable : public CDOTA_Buff
{
public:
ParticleIndex_t nFXIndex; // 0x11d8
int32_t projectile_radius; // 0x11dc
int32_t projectile_destruction_radius; // 0x11e0
};
// 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: 0x11d8
class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Jungle_Spirit_Storm_Multicast_Cooldown : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Jungle_Spirit_Jungle_Lumber_Lock_Immunity : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Jungle_Spirit_Volcano_Fire_Strike_Caster : public CDOTA_Buff
{
public:
int32_t damage_modifier; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Jungle_Spirit_Range_Attack : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Jungle_Spirit_Range_Attack : public CDOTA_Buff
{
public:
ParticleIndex_t m_nFXIndex; // 0x11d8
int32_t projectile_speed; // 0x11dc
float turn_rate; // 0x11e0
CHandle< C_BaseEntity > m_hAttachTarget; // 0x11e4
};
// 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<EntComponentInfo_t*>(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<int32_t*>(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: 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: 0x11d8
class CDOTA_Modifier_Fountain_Glyph : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e0
class CDOTA_Modifier_Radar_Thinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
bool m_bEverFound; // 0x11dc
bool m_bBonus; // 0x11dd
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Courier_AutoDeliver : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Turbo_Courier_Haste : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
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: 0x11e8
class CDOTA_Modifier_JungleVarmint_Dive : public CDOTA_Buff
{
public:
int32_t distance; // 0x11d8
float speed; // 0x11dc
float acceleration; // 0x11e0
int32_t radius; // 0x11e4
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Ability_Pudge_FleshHeap : public C_DOTABaseAbility
{
public:
int32_t m_iKills; // 0x5a0
};
// Alignment: 5
// Size: 0x11e8
class CDOTA_Modifier_SkeletonKing_Reincarnation_Scepter_Active : public CDOTA_Buff
{
public:
int32_t scepter_move_speed_pct; // 0x11d8
int32_t scepter_attack_speed; // 0x11dc
CHandle< C_BaseEntity > m_hTarget; // 0x11e0
bool m_bPassive; // 0x11e4
bool m_bKillAtEnd; // 0x11e5
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Item_Helm_Of_The_Undying_Active : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
bool m_bPassive; // 0x11dc
};
// Alignment: 8
// Size: 0x1208
class CDOTA_Modifier_Legion_Commander_Duel : public CDOTA_Buff
{
public:
int32_t reward_damage; // 0x11d8
int32_t scepter_damage_reduction_pct; // 0x11dc
bool m_bAttacked; // 0x11e0
bool m_bHadAVictor; // 0x11e1
private:
[[maybe_unused]] uint8_t __pad11e2[0x2]; // 0x11e2
public:
GameTime_t m_flTimeDuelStart; // 0x11e4
CHandle< C_BaseEntity > m_hPartner; // 0x11e8
float m_flNextTime; // 0x11ec
CUtlVector< CHandle< C_BaseEntity > > hAlreadyHitList; // 0x11f0
};
// 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: 0x11e0
class CDOTA_Modifier_JungleVarmint_Creator : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hVarmint; // 0x11d8
CEntityIndex m_nClientVarmintEntIndex; // 0x11dc
};
// 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: 0x11d8
class CDOTA_Modifier_Outpost_Summoning : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Watch_Tower_Capturing : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 11
// Size: 0x1218
class CDOTA_Modifier_Watch_Tower : public CDOTA_Buff
{
public:
int32_t m_iCapturingTeam; // 0x11d8
float m_flCaptureProgress; // 0x11dc
float m_flBonusTime; // 0x11e0
bool m_bInitialSetupDone; // 0x11e4
private:
[[maybe_unused]] uint8_t __pad11e5[0x3]; // 0x11e5
public:
int32_t m_iOriginalTeam; // 0x11e8
CHandle< C_BaseEntity > m_hPreviousHero; // 0x11ec
CUtlVector< PlayerID_t > m_vecLastCreditedPlayerIDs; // 0x11f0
float m_flAccumulatedCaptureTime; // 0x1208
int32_t m_iBonusCount; // 0x120c
ParticleIndex_t m_nFxOutpostAmbient; // 0x1210
ParticleIndex_t m_nFxOutpostInitialAmbient; // 0x1214
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Watch_Tower_Invulnerable : public CDOTA_Modifier_Invulnerable
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Watch_Tower_Invulnerable_Temporary : public CDOTA_Modifier_Invulnerable
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
class CDOTA_Modifier_Lamp_Ready : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lamp_On : public CDOTA_Buff
{
public:
ParticleIndex_t m_iFxIndex; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Lamp_Off : public CDOTA_Buff
{
public:
int32_t m_iTempViewer; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_Twin_Gate_FX : public CDOTA_Buff
{
public:
ParticleIndex_t m_nPortalAmbientFX; // 0x11d8
float m_fPortalRadius; // 0x11dc
};
// Alignment: 7
// Size: 0x11f8
class CDOTA_Modifier_Twin_Gate_Warp_Channel : public CDOTA_Buff
{
public:
ParticleIndex_t m_nfxTargetTp; // 0x11d8
ParticleIndex_t m_nfxTargetTp2; // 0x11dc
ParticleIndex_t m_nfxAmbientFx; // 0x11e0
ParticleIndex_t m_nfxPortal1; // 0x11e4
ParticleIndex_t m_nfxPortal2; // 0x11e8
float animation_rate; // 0x11ec
int32_t stop_distance; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_Vampire_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Mutation_Vampire : public CDOTA_Buff
{
public:
int32_t m_iLifeStealPct; // 0x11d8
int32_t m_iHealthDrain; // 0x11dc
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_Spellcast : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_DeathExplosion_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_DeathExplosion_TeamAura : public CDOTA_Modifier_Mutation_DeathExplosion_Aura
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_DeathExplosion : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Mutation_DeathExplosionDelayed : public CDOTA_Buff
{
public:
int32_t m_iDamageBase; // 0x11d8
int32_t m_iDamagePerLevel; // 0x11dc
int32_t m_iRadius; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_NoHealthBars_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_StationaryDamageReduction_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mutation_StationaryDamageReduction : public CDOTA_Buff
{
public:
int32_t m_iReductionPct; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_CreateTombstone_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_CreateTombstone_Team_Aura : public CDOTA_Modifier_Mutation_CreateTombstone_Aura
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_CreateTombstone : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_KillstreakPower_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Mutation_KillstreakPower : public CDOTA_Buff
{
public:
int32_t m_iDamageDonePct; // 0x11d8
int32_t m_iDamageTakenPct; // 0x11dc
int32_t m_iModelScale; // 0x11e0
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_Treecutter_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mutation_Treecutter : public CDOTA_Buff
{
public:
int32_t m_iRadius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_Cooldown_Reduction_Team_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Mutation_Cooldown_Reduction : public CDOTA_Buff
{
public:
int32_t m_iCooldownReduction; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Mutation_CritChance_Team_Aura : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Mutation_Crit_Chance : public CDOTA_Buff
{
public:
int32_t m_iChance; // 0x11d8
int32_t m_iDamageMultiplier; // 0x11dc
};
// Alignment: 0
// Size: 0x870
class C_DOTA_Item_DeathGoldDropped : public CBaseAnimatingActivity
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_ContextualTips : public CDOTA_Buff
{
public:
// Static fields:
static float &Get_k_flParentDamageTrackingWindow(){return *reinterpret_cast<float*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_ContextualTips")->m_static_fields[0]->m_instance);};
static float &Get_k_flGlobalTipCooldown(){return *reinterpret_cast<float*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_Modifier_ContextualTips")->m_static_fields[1]->m_instance);};
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_731_Teaser_Stun : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Neutral_Sleep_AI : public CDOTA_Buff
{
public:
ParticleIndex_t m_iFXIndex; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_KoboldTaskmaster_SpeedAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_KoboldTaskmaster_SpeedAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_movement_speed; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_CentaurKhan_EnduranceAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_CentaurKhan_EnduranceAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_CentaurKhan_EnduranceAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_attack_speed; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_Spawnlord_Master_Stomp : public CDOTA_Buff
{
public:
int32_t armor_reduction_pct; // 0x11d8
float m_flArmorReduction; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Spawnlord_Master_Freeze : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spawnlord_Master_Freeze : public CDOTA_Buff
{
public:
bool m_bFreezeAttack; // 0x11d8
private:
[[maybe_unused]] uint8_t __pad11d9[0x3]; // 0x11d9
public:
ParticleIndex_t m_nFXIndex; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spawnlord_Master_Freeze_Root : public CDOTA_Buff
{
public:
int32_t max_ticks; // 0x11d8
float damage; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_GnollAssassin_EnvenomedWeapon : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
float non_hero_duration; // 0x11dc
float hero_duration; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_GnollAssassin_EnvenomedWeapon_Poison : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
int32_t regen_reduction; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Ghost_FrostAttack : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Ghost_FrostAttack : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t movespeed_slow; // 0x11dc
int32_t attackspeed_slow; // 0x11e0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Ghost_FrostAttack_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_PolarFurbolgUrsaWarrior_ThunderClap : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_PolarFurbolgUrsaWarrior_ThunderClap : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// 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: 0x11e0
class CDOTA_Modifier_WarpineRaider_SeedShot : public CDOTA_Buff
{
public:
CHandle< C_BaseEntity > m_hTarget; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_WarpineRaider_SeedShot_Slow : public CDOTA_Buff
{
public:
int32_t slow; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Neutral_SpellImmunity : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_Neutral_SpellImmunity : public CDOTA_Modifier_MagicImmune
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_OgreMagi_FrostArmor : public CDOTA_Buff
{
public:
int32_t armor_bonus; // 0x11d8
float slow_duration; // 0x11dc
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_OgreMagi_FrostArmor_Slow : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_DarkTrollWarlord_Ensnare : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_GiantWolf_CriticalStrike : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
int32_t crit_chance; // 0x11dc
};
// 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: 0x11f0
class CDOTA_Modifier_MudGolem_RockDestroy : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
float duration; // 0x11dc
int32_t shard_health; // 0x11e0
int32_t shard_damage; // 0x11e4
int32_t shard_duration; // 0x11e8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
class CDOTA_Modifier_DoNotCastEnsnare : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
class CDOTA_Modifier_DoNotCastRock : public CDOTA_Buff
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_AlphaWolf_CriticalStrike : public CDOTA_Buff
{
public:
int32_t crit_mult; // 0x11d8
int32_t crit_chance; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_AncientRockGolem_Weakening_Aura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AncientRockGolem_Weakening_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AncientRockGolem_Weakening : public CDOTA_Buff
{
public:
int32_t armor_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlackDrake_MagicAmplification_Aura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlackDrake_MagicAmplification_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlackDrake_MagicAmplification : public CDOTA_Buff
{
public:
int32_t spell_amp; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_AlphaWolf_CommandAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AlphaWolf_CommandAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_AlphaWolf_CommandAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_damage_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_FrostbittenGolem_TimeWarpAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FrostbittenGolem_TimeWarpAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_cdr; // 0x11d8
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Ability_IceShaman_IncendiaryBomb : public C_DOTABaseAbility
{
public:
ParticleIndex_t m_nFXIndex; // 0x5a0
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_IceShaman_IncendiaryBomb : public CDOTA_Buff
{
public:
int32_t burn_damage; // 0x11d8
int32_t building_damage_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Tornado_Tempest : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 5
// Size: 0x11f8
class CDOTA_Modifier_Tornado_Tempest : public CDOTA_Buff
{
public:
int32_t near_radius; // 0x11d8
int32_t near_damage; // 0x11dc
int32_t far_radius; // 0x11e0
int32_t far_damage; // 0x11e4
float tick_rate; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Tornado_Tempest_Debuff : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
int32_t attackspeed_slow; // 0x11dc
};
// 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: 0x11e0
class CDOTA_Modifier_Wildkin_Tornado : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_EnragedWildkin_Hurricane : public CDOTA_Buff
{
public:
ParticleIndex_t m_FX; // 0x11d8
int32_t distance; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_BerserkerTroll_Break : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BerserkerTroll_Break : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Kobold_Disarm : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Kobold_Disarm : public CDOTA_Buff
{
public:
float duration; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_EnragedWildkin_ToughnessAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EnragedWildkin_ToughnessAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_EnragedWildkin_ToughnessAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_GraniteGolem_HPAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_GraniteGolem_HPAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_GraniteGolem_HPAura_Bonus : public CDOTA_Buff
{
public:
float bonus_hp; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_SatyrTrickster_Purge : public CDOTA_Buff
{
public:
int32_t purge_rate; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_SatyrSoulstealer_ManaBurn : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// 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: 0x11e0
class CDOTA_Modifier_SatyrHellcaller_UnholyAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_SatyrHellcaller_UnholyAura_Bonus : public CDOTA_Buff
{
public:
float health_regen; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Spawnlord_Aura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Spawnlord_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Spawnlord_Aura_Bonus : public CDOTA_Buff
{
public:
int32_t lifesteal; // 0x11d8
int32_t hp_regen; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_ForestTrollHighPriest_Heal : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_ForestTrollHighPriest_HealAutocast : public CDOTA_Buff
{
public:
int32_t health; // 0x11d8
CHandle< C_BaseEntity > m_hHealTarget; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_ForestTrollHighPriest_ManaAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ForestTrollHighPriest_ManaAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_ForestTrollHighPriest_ManaAura_Bonus : public CDOTA_Buff
{
public:
float mana_regen; // 0x11d8
int32_t allow_multiple; // 0x11dc
int32_t m_nAttributes; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_ForestTrollHighPriest_HealAmp_Aura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ForestTrollHighPriest_HealAmp : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ForestTrollHighPriest_HealAmp_Bonus : public CDOTA_Buff
{
public:
float heal_amp; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Furbolg_Enrage_AttackSpeed : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Furbolg_Enrage_AttackSpeed_OnDeath : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifer_Furbolg_Enrage_AttackSpeed : public CDOTA_Buff
{
public:
int32_t bonus_aspd; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Furbolg_Enrage_Damage : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Furbolg_Enrage_Damage_OnDeath : public CDOTA_Buff
{
public:
float duration; // 0x11d8
int32_t radius; // 0x11dc
};
// Alignment: 2
// Size: 0x5a8
class CDOTA_Ability_FelBeast_Haunt : public C_DOTABaseAbility
{
public:
int32_t radius; // 0x5a0
float duration; // 0x5a4
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FelBeast_Haunt_OnDeath : public CDOTA_Buff
{
public:
int32_t projectile_speed; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_FelBeast_Haunt : public CDOTA_Buff
{
public:
int32_t damage_per_second; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifer_Furbolg_Enrage_Damage : public CDOTA_Buff
{
public:
int32_t bonus_dmg_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_KoboldTunneler_Prospecting : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_KoboldTunneler_ProspectingAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_KoboldTunneler_ProspectingAura_Money : public CDOTA_Buff
{
public:
int32_t gpm_aura; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_HillTroll_Rally : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_HillTroll_RallyAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_HillTroll_Rally : public CDOTA_Buff
{
public:
int32_t damage_bonus; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_HarpyScout_TakeOff : public CDOTA_Buff
{
public:
int32_t move_speed_penalty; // 0x11d8
float cost_per_second; // 0x11dc
};
// 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: 0x11d8
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: 0x11e0
class CDOTA_Modifier_GiantWolf_Intimidate : public CDOTA_Buff
{
public:
int32_t damage_reduction; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_HarpyStorm_ChainLightning : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_HarpyStorm_ChainLightning : public CDOTA_Buff
{
public:
int32_t jump_range; // 0x11d8
int32_t max_targets; // 0x11dc
float damage_percent_loss; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlackDragon_Fireball : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_BlackDragon_Fireball_Thinker : public CDOTA_Buff
{
public:
float burn_interval; // 0x11d8
int32_t radius; // 0x11dc
int32_t damage; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlackDragon_SplashAttack : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_BlackDragon_SplashAttack : public CDOTA_Buff
{
public:
int32_t range; // 0x11d8
float damage_percent; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_BlackDragon_DragonhideAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlackDragon_DragonhideAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlackDragon_DragonhideAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_MudGolem_CloakAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_MudGolem_CloakAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_MudGolem_CloakAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_magical_armor; // 0x11d8
int32_t bonus_magical_armor_creeps; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlueDragonspawnSorcerer_Evasion : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlueDragonspawnSorcerer_Evasion : public CDOTA_Buff
{
public:
int32_t evasion_chance_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlueDragonspawnOverseer_Evasion : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlueDragonspawnOverseer_Evasion : public CDOTA_Buff
{
public:
int32_t evasion_chance_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BlueDragonspawnOverseer_DevotionAura : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BlueDragonspawnOverseer_DevotionAura_Bonus : public CDOTA_Buff
{
public:
int32_t bonus_armor; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_BigThunderLizard_Wardrums : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BigThunderLizard_Wardrums : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_BigThunderLizard_Wardrums_Aura : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
int32_t accuracy; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BigThunderLizard_Slam : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BigThunderLizard_Slam : public CDOTA_Buff
{
public:
int32_t movespeed_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_BigThunderLizard_Frenzy : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_BigThunderLizard_Frenzy : public CDOTA_Buff
{
public:
int32_t attackspeed_bonus; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Casting : public CDOTA_Buff
{
public:
int32_t cast_animation; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Black_Nightmare : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Black_Nightmare : public CDOTA_Buff
{
public:
float animation_rate; // 0x11d8
};
// Alignment: 0
// Size: 0x11d8
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: 0x11f8
class CDOTA_Modifier_Greevil_Miniboss_Blue_ColdFeet : public CDOTA_Buff
{
public:
Vector m_vecStartPosition; // 0x11d8
int32_t m_nCurrentTick; // 0x11e4
float damage; // 0x11e8
int32_t break_distance; // 0x11ec
float stun_duration; // 0x11f0
};
// Alignment: 0
// Size: 0x11d8
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: 0x1200
class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortexThinker : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t movement_speed_pct; // 0x11dc
int32_t spell_resist_pct; // 0x11e0
ParticleIndex_t m_nFXIndex; // 0x11e4
CUtlVector< CHandle< C_BaseEntity > > m_hChilledEntities; // 0x11e8
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Blue_IceVortex : public CDOTA_Buff
{
public:
int32_t movement_speed_pct; // 0x11d8
int32_t spell_resist_pct; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Red_Earthshock : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Red_Earthshock : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Red_Overpower : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Red_Overpower : public CDOTA_Buff
{
public:
int32_t attack_speed_bonus_pct; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Yellow_IonShell : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e8
class CDOTA_Modifier_Greevil_Miniboss_Yellow_IonShell : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t damage_per_second; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Yellow_Surge : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_White_Degen_Aura_Effect : public CDOTA_Buff
{
public:
int32_t speed_bonus; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Green_LivingArmor : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 2
// Size: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Green_LivingArmor : public CDOTA_Buff
{
public:
int32_t health_regen; // 0x11d8
int32_t damage_block; // 0x11dc
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Greevil_Miniboss_Green_Overgrowth : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11e8
class CDOTA_Modifier_Greevil_Miniboss_Orange_LightStrikeArray_Thinker : public CDOTA_Buff
{
public:
int32_t m_iDamage; // 0x11d8
float m_flStunDuration; // 0x11dc
int32_t light_strike_array_aoe; // 0x11e0
};
// Alignment: 1
// Size: 0x5a8
class C_DOTA_Ability_Greevil_Miniboss_Purple_VenomousGale : public C_DOTABaseAbility
{
public:
float duration; // 0x5a0
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Greevil_Miniboss_Purple_VenomousGale : public CDOTA_Buff
{
public:
int32_t movement_slow; // 0x11d8
int32_t tick_damage; // 0x11dc
float tick_interval; // 0x11e0
float duration; // 0x11e4
};
// 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: 0x11e0
class CDOTA_Modifier_Greevil_Miniboss_Sight : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Neutral_Upgrade : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 9
// Size: 0x1200
class CDOTA_Modifier_Neutral_Upgrade : public CDOTA_Buff
{
public:
float increase_time; // 0x11d8
int32_t increase_damage; // 0x11dc
int32_t increase_health; // 0x11e0
float increase_armor; // 0x11e4
int32_t increase_aspd; // 0x11e8
int32_t increase_gold; // 0x11ec
int32_t increase_xp; // 0x11f0
int32_t current_level; // 0x11f4
int32_t max_level; // 0x11f8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Creep_Siege : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 4
// Size: 0x11e8
class CDOTA_Modifier_Creep_Siege : public CDOTA_Buff
{
public:
int32_t bonus_building_damage; // 0x11d8
int32_t incoming_hero_damage_penalty; // 0x11dc
int32_t incoming_basic_damage_penalty; // 0x11e0
int32_t incoming_controlled_unit_penalty; // 0x11e4
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Creep_Piercing : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 3
// Size: 0x11e8
class CDOTA_Modifier_Creep_Piercing : public CDOTA_Buff
{
public:
int32_t creep_damage_bonus; // 0x11d8
int32_t hero_damage_penalty; // 0x11dc
int32_t heavy_damage_penalty; // 0x11e0
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_Creep_Irresolute : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Creep_Irresolute : public CDOTA_Buff
{
public:
int32_t hero_damage_penalty; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class C_DOTA_Ability_FlagBearer_Creep_Aura_Effect : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 6
// Size: 0x11f0
class CDOTA_Modifier_Creep_Bonus_XP : public CDOTA_Buff
{
public:
int32_t radius; // 0x11d8
int32_t hero_damage_penalty; // 0x11dc
int32_t bonus_gold; // 0x11e0
int32_t m_iGoldBounty; // 0x11e4
ParticleIndex_t iBannerEffect; // 0x11e8
ParticleIndex_t iRingEffect; // 0x11ec
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_Flagbearer_Creep_Aura_Effect : public CDOTA_Buff
{
public:
int32_t bonus_health_regen; // 0x11d8
};
// Alignment: 0
// Size: 0x5a0
class CDOTA_Ability_Filler_Tooltip : public C_DOTABaseAbility
{
public:
// No members available
};
// Alignment: 0
// Size: 0x11d8
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: 0x11d8
class CDOTA_Modifier_Tutorial_Sleep : public CDOTA_Modifier_Stunned
{
public:
// No members available
};
// Alignment: 1
// Size: 0x11e0
class CDOTA_Modifier_ARDM_NewHero : public CDOTA_Modifier_Tutorial_Sleep
{
public:
CHandle< C_BaseEntity > m_hOldHero; // 0x11d8
};
// Alignment: 1
// Size: 0x1210
class CDOTA_Modifier_Gold_Bag_Launch : public CDOTA_Modifier_Knockback
{
public:
int32_t gold_amount; // 0x1208
};
// 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: 1
// Size: 0x5a8
class C_DOTA_Ability_AbyssalUnderlord_Dark_Portal : public C_DOTABaseAbility
{
public:
float duration; // 0x5a0
};
// 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<C_DOTA_RoshanSpawner**>(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<CUtlVector< CInfoDynamicShadowHint* >*>(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: 0x16f0
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; // 0xe68
private:
[[maybe_unused]] uint8_t __pad0f18[0x8]; // 0xf18
public:
// MNetworkEnable
// MNetworkChangeCallback "OnUnitStateChanged"
// MNetworkPriority "32"
uint64_t m_nUnitState64; // 0xf20
private:
[[maybe_unused]] uint8_t __pad0f28[0x8]; // 0xf28
public:
uint64_t m_nUnitDebuffState; // 0xf30
bool m_bHasInventory; // 0xf38
private:
[[maybe_unused]] uint8_t __pad0f39[0x3]; // 0xf39
public:
int32_t m_iAcquisitionRange; // 0xf3c
int32_t m_FoWViewID; // 0xf40
int32_t m_iPrevHealthPct; // 0xf44
int32_t m_iPrevLifeState; // 0xf48
int32_t m_iPrevTeam; // 0xf4c
bool m_bPrevProvidesVision; // 0xf50
private:
[[maybe_unused]] uint8_t __pad0f51[0x7]; // 0xf51
public:
uint64_t m_nPrevControllableMask; // 0xf58
private:
[[maybe_unused]] uint8_t __pad0f60[0x8]; // 0xf60
public:
CountdownTimer m_TagTime; // 0xf68
CountdownTimer m_ClickedTime; // 0xf80
GameTime_t m_flIdleRunPoseStartTime[2]; // 0xf98
float m_flIdleRunPoseDuration[2]; // 0xfa0
bool m_bAnimationTransitionActive; // 0xfa8
private:
[[maybe_unused]] uint8_t __pad0fa9[0x3]; // 0xfa9
public:
int32_t m_nAnimationTransitionPoseParameters[2]; // 0xfac
int32_t m_nAnimationTransitionInjuredPoseParameters[2]; // 0xfb4
int32_t m_nAnimationTransitionAggressivePoseParameters[2]; // 0xfbc
private:
[[maybe_unused]] uint8_t __pad0fc4[0x5c]; // 0xfc4
public:
GameTime_t m_flTimeSinceLastAbilityNag; // 0x1020
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_iAttackCapabilities; // 0x1024
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_iSpecialAbility; // 0x1028
int32_t m_iMoveCapabilities; // 0x102c
// MNetworkEnable
PlayerID_t m_nPlayerOwnerID; // 0x1030
// MNetworkEnable
GameTime_t m_flLastDamageTime; // 0x1034
// MNetworkEnable
GameTime_t m_flLastAttackTime; // 0x1038
private:
[[maybe_unused]] uint8_t __pad103c[0x4]; // 0x103c
public:
CUtlSymbolLarge m_iszMinimapIcon; // 0x1040
private:
[[maybe_unused]] uint8_t __pad1048[0x8]; // 0x1048
public:
float m_flMinimapIconSize; // 0x1050
bool m_bMinimapDisableTint; // 0x1054
bool m_bMinimapDisableRotation; // 0x1055
Color m_colorHeroGlow; // 0x1056
private:
[[maybe_unused]] uint8_t __pad105a[0x2]; // 0x105a
public:
int32_t m_iNearShopMask; // 0x105c
int32_t m_nPoseParameterTurn; // 0x1060
int32_t m_nPoseParameterRun; // 0x1064
float m_flLean; // 0x1068
float m_flRun; // 0x106c
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_anglediff; // 0x1070
bool m_bInfoKeyActive; // 0x1074
bool m_bNewUpdateAssetModifiersNetworked; // 0x1075
private:
[[maybe_unused]] uint8_t __pad1076[0x2]; // 0x1076
public:
GameTick_t m_nAssetModifiersLastUpdatedTick; // 0x1078
bool m_bSuppressGlow; // 0x107c
bool m_bWasSinking; // 0x107d
private:
[[maybe_unused]] uint8_t __pad107e[0x2]; // 0x107e
public:
float m_flRangeDisplayDist; // 0x1080
private:
[[maybe_unused]] uint8_t __pad1084[0x1bc]; // 0x1084
public:
CUtlSymbolLarge m_szDefaultIdle; // 0x1240
CUtlSymbolLarge m_szDefaultRareIdle; // 0x1248
CountdownTimer m_damagetimer; // 0x1250
Vector m_vRenderOrigin; // 0x1268
float m_fZDelta; // 0x1274
GameTime_t m_flDeathTime; // 0x1278
bool m_bBaseStatsChanged; // 0x127c
bool m_bNeedsSoundEmitterRefresh; // 0x127d
private:
[[maybe_unused]] uint8_t __pad127e[0x2]; // 0x127e
public:
// MNetworkEnable
float m_flPhysicalArmorValue; // 0x1280
// MNetworkEnable
float m_flMagicalResistanceValue; // 0x1284
int32_t m_nPrevSequenceParity; // 0x1288
private:
[[maybe_unused]] uint8_t __pad128c[0xa4]; // 0x128c
public:
float m_flPrevInvisLevel; // 0x1330
private:
[[maybe_unused]] uint8_t __pad1334[0x4]; // 0x1334
public:
CStrongHandle< InfoForResourceTypeCModel > m_nOriginalModelIndex; // 0x1338
CStrongHandle< InfoForResourceTypeCModel > m_nClientOriginalModelIndex; // 0x1340
CStrongHandle< InfoForResourceTypeCModel > m_nClientReplacementModelIndex; // 0x1348
bool m_bClientReplacementModelNeedsRebuild; // 0x1350
private:
[[maybe_unused]] uint8_t __pad1351[0x3]; // 0x1351
public:
int32_t m_nClientReplacementModelReloadCount; // 0x1354
// MNetworkEnable
// MNetworkChangeCallback "OnUnitModelVariantChanged"
int8_t m_nUnitModelVariant; // 0x1358
int8_t m_nUnitModelVariantCount; // 0x1359
private:
[[maybe_unused]] uint8_t __pad135a[0x2]; // 0x135a
public:
int32_t m_iPrevSequence; // 0x135c
char* m_pLastWeatherEffectName; // 0x1360
private:
[[maybe_unused]] uint8_t __pad1368[0x8]; // 0x1368
public:
CountdownTimer m_VoiceBackgroundSoundTimer; // 0x1370
// MNetworkEnable
bool m_bIsWaitingToSpawn; // 0x1388
private:
[[maybe_unused]] uint8_t __pad1389[0x7]; // 0x1389
public:
// MNetworkEnable
int64_t m_nTotalDamageTaken; // 0x1390
// MNetworkEnable
// MNetworkBitCount "18"
// MNetworkMinValue "-100.000000"
// MNetworkMaxValue "1000.000000"
float m_flManaRegen; // 0x1398
// MNetworkEnable
// MNetworkBitCount "18"
// MNetworkMinValue "-100.000000"
// MNetworkMaxValue "1000.000000"
float m_flHealthRegen; // 0x139c
// MNetworkEnable
bool m_bIsMoving; // 0x13a0
private:
[[maybe_unused]] uint8_t __pad13a1[0x3]; // 0x13a1
public:
// MNetworkEnable
float m_fRevealRadius; // 0x13a4
// MNetworkEnable
bool m_bCanUseWards; // 0x13a8
// MNetworkEnable
bool m_bCanUseAllItems; // 0x13a9
private:
[[maybe_unused]] uint8_t __pad13aa[0x2]; // 0x13aa
public:
// MNetworkEnable
int32_t m_iXPBounty; // 0x13ac
// MNetworkEnable
int32_t m_iXPBountyExtra; // 0x13b0
// MNetworkEnable
int32_t m_iGoldBountyMin; // 0x13b4
// MNetworkEnable
int32_t m_iGoldBountyMax; // 0x13b8
// MNetworkEnable
CHandle< C_BaseEntity > m_hGoalEntity; // 0x13bc
// MNetworkEnable
CHandle< C_DOTA_NeutralSpawner > m_hNeutralSpawner; // 0x13c0
private:
[[maybe_unused]] uint8_t __pad13c4[0x4]; // 0x13c4
public:
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hClientOverrideMaterial; // 0x13c8
bool m_bCombinerMaterialOverrideListChanged; // 0x13d0
private:
[[maybe_unused]] uint8_t __pad13d1[0x3]; // 0x13d1
public:
int32_t m_nBaseModelMeshCount; // 0x13d4
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeIMaterial2 > > m_combinerMaterialOverrideList; // 0x13d8
int8_t m_nArcanaLevel; // 0x13f0
int8_t m_nDefaultArcanaLevel; // 0x13f1
Color m_defaultColorGemColor; // 0x13f2
private:
[[maybe_unused]] uint8_t __pad13f6[0x1a]; // 0x13f6
public:
bool m_bHasBuiltWearableSpawnList; // 0x1410
bool m_bHasCostume; // 0x1411
private:
[[maybe_unused]] uint8_t __pad1412[0x11e]; // 0x1412
public:
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_NetworkActivity; // 0x1530
int32_t m_PrevNetworkActivity; // 0x1534
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_NetworkSequenceIndex; // 0x1538
// MNetworkEnable
bool m_bShouldDoFlyHeightVisual; // 0x153c
private:
[[maybe_unused]] uint8_t __pad153d[0x3]; // 0x153d
public:
// MNetworkEnable
float m_flStartSequenceCycle; // 0x1540
private:
[[maybe_unused]] uint8_t __pad1544[0x4]; // 0x1544
public:
CUtlVector< CUtlSymbol > m_ActivityModifiers; // 0x1548
CHandle< C_SceneEntity > m_hBackgroundSceneEnt; // 0x1560
CHandle< C_SceneEntity > m_hSpeakingSceneEnt; // 0x1564
private:
[[maybe_unused]] uint8_t __pad1568[0x10]; // 0x1568
public:
CUtlVector< CHandle< C_EconWearable > > m_hOldWearables; // 0x1578
CUtlVector< CUtlStringToken > m_hOldWearableSkins; // 0x1590
// MNetworkEnable
char m_CustomHealthLabel[256]; // 0x15a8
// MNetworkEnable
Color m_CustomHealthLabelColor; // 0x16a8
item_definition_index_t m_nWearableDefIndex; // 0x16ac
private:
[[maybe_unused]] uint8_t __pad16b0[0x1]; // 0x16b0
public:
Color m_gibTintColor; // 0x16b1
bool m_bForceMaterialCombine; // 0x16b5
bool m_bShouldDrawParticlesWhileHidden; // 0x16b6
bool m_bIsClientThinkPending; // 0x16b7
bool m_bActivityModifiersDirty; // 0x16b8
bool m_bUnitModelVariantChanged; // 0x16b9
bool m_bWearablesAreTaunting; // 0x16ba
private:
[[maybe_unused]] uint8_t __pad16bb[0x15]; // 0x16bb
public:
bool m_bShowCannotBeDisabledIcon; // 0x16d0
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_BaseNPC_Additive : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 16
// Size: 0x1758
class C_DOTA_BaseNPC_Building : public C_DOTA_BaseNPC
{
public:
// MNetworkEnable
int32_t m_iDamageLevel; // 0x16f0
ParticleIndex_t m_nAmbientFXIndex; // 0x16f4
ParticleIndex_t m_nTPFXIndex; // 0x16f8
ParticleIndex_t m_nStatusFXIndex; // 0x16fc
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndex; // 0x1700
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_nFXIndexDestruction; // 0x1708
// MNetworkEnable
QAngle m_angInitialAngles; // 0x1710
// MNetworkEnable
HSequence m_hHeroStatueSequence; // 0x171c
// MNetworkEnable
HSequence m_hConstantLayerSequence; // 0x1720
// MNetworkEnable
float m_fHeroStatueCycle; // 0x1724
// MNetworkEnable
int32_t m_iHeroStatueStatusEffectIndex; // 0x1728
// MNetworkEnable
bool m_bHeroStatue; // 0x172c
// MNetworkEnable
bool m_bBattleCup; // 0x172d
// MNetworkEnable
char m_HeroStatueInscription[32]; // 0x172e
private:
[[maybe_unused]] uint8_t __pad174e[0x2]; // 0x174e
public:
// MNetworkEnable
PlayerID_t m_iHeroStatueOwnerPlayerID; // 0x1750
// MNetworkEnable
Color m_ParticleTintColor; // 0x1754
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Filler : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1770
class C_DOTA_BaseNPC_Watch_Tower : public C_DOTA_BaseNPC_Building
{
public:
ParticleIndex_t m_iRangeFX; // 0x1758
private:
[[maybe_unused]] uint8_t __pad175c[0x4]; // 0x175c
public:
// MNetworkEnable
CUtlSymbolLarge m_szOutpostName; // 0x1760
// MNetworkEnable
CUtlSymbolLarge m_szInteractAbilityName; // 0x1768
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_MangoTree : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_BaseBlocker : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1770
class C_DOTA_NPC_Lantern : public C_DOTA_BaseNPC_Building
{
public:
// MNetworkEnable
CUtlSymbolLarge m_szInteractAbilityName; // 0x1758
CNewParticleEffect* m_pVisionRangeFX; // 0x1760
int32_t m_nPreviewViewer; // 0x1768
};
// Alignment: 1
// Size: 0x1760
class C_DOTA_BaseNPC_Healer : public C_DOTA_BaseNPC_Building
{
public:
ParticleIndex_t m_iRangeFX; // 0x1758
};
// Alignment: 8
// Size: 0x1798
class C_DOTA_BaseNPC_Tower : public C_DOTA_BaseNPC_Building
{
public:
ParticleIndex_t m_iRangeFX; // 0x1758
// MNetworkEnable
CHandle< C_BaseEntity > m_hTowerAttackTarget; // 0x175c
// MNetworkEnable
CHandle< C_BaseEntity > m_hTowerHighFiveTarget; // 0x1760
int32_t m_iPoseParameterAim; // 0x1764
QAngle m_angDefaultCustomTowerAngle; // 0x1768
float m_flLastAimYaw; // 0x1774
bool m_bClientSideCustomTower; // 0x1778
private:
[[maybe_unused]] uint8_t __pad1779[0x7]; // 0x1779
public:
CountdownTimer m_IdleRareAnimationTime; // 0x1780
};
// Alignment: 1
// Size: 0x17a0
class C_DOTA_BaseNPC_HoldoutTower : public C_DOTA_BaseNPC_Tower
{
public:
DOTA_HOLDOUT_TOWER_TYPE m_iTowerType; // 0x1798
};
// Alignment: 0
// Size: 0x17a0
class C_DOTA_BaseNPC_SDKTower : public C_DOTA_BaseNPC_HoldoutTower
{
public:
// No members available
};
// Alignment: 0
// Size: 0x17a0
class C_DOTA_BaseNPC_HoldoutTower_LightFast : public C_DOTA_BaseNPC_HoldoutTower
{
public:
// No members available
};
// Alignment: 0
// Size: 0x17a0
class C_DOTA_BaseNPC_HoldoutTower_HeavySlow : public C_DOTA_BaseNPC_HoldoutTower
{
public:
// No members available
};
// Alignment: 0
// Size: 0x17a0
class C_DOTA_BaseNPC_HoldoutTower_ReduceSpeed : public C_DOTA_BaseNPC_HoldoutTower
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Barracks : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Fort : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Effigy_Statue : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Effigy_BattleCup : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 2
// Size: 0x16f8
class C_DOTA_BaseNPC_RotatableBuilding : public C_DOTA_BaseNPC
{
public:
// MNetworkEnable
// MNetworkAlias "m_hHeroStatueSequence"
HSequence m_hObsoleteHeroStatueSequence; // 0x16f0
// MNetworkEnable
// MNetworkAlias "m_hConstantLayerSequence"
HSequence m_hObsoleteConstantLayerSequence; // 0x16f4
};
// Alignment: 53
// Size: 0x1a50
class C_DOTA_BaseNPC_Hero : public C_DOTA_BaseNPC_Additive
{
private:
[[maybe_unused]] uint8_t __pad16f0[0x8]; // 0x16f0
public:
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_iCurrentXP; // 0x16f8
// MNetworkEnable
// MNetworkChangeCallback "OnAbilityPointsChanged"
int32_t m_iAbilityPoints; // 0x16fc
// MNetworkEnable
GameTime_t m_flRespawnTime; // 0x1700
// MNetworkEnable
float m_flRespawnTimePenalty; // 0x1704
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flStrength; // 0x1708
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flAgility; // 0x170c
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flIntellect; // 0x1710
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flStrengthTotal; // 0x1714
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flAgilityTotal; // 0x1718
// MNetworkEnable
// MNetworkChangeCallback "OnBaseStatChanged"
float m_flIntellectTotal; // 0x171c
// MNetworkEnable
GameTime_t m_flDeathTime; // 0x1720
// MNetworkEnable
int32_t m_iRecentDamage; // 0x1724
float m_fPainFactor; // 0x1728
float m_fTargetPainFactor; // 0x172c
bool m_bLifeState; // 0x1730
private:
[[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731
public:
ParticleIndex_t m_nFXStunIndex; // 0x1734
ParticleIndex_t m_nFXSilenceIndex; // 0x1738
ParticleIndex_t m_nFXDeathIndex; // 0x173c
private:
[[maybe_unused]] uint8_t __pad1740[0x20]; // 0x1740
public:
// MNetworkEnable
PlayerID_t m_iPlayerID; // 0x1760
// MNetworkEnable
CHandle< C_DOTA_BaseNPC_Hero > m_hReplicatingOtherHeroModel; // 0x1764
// MNetworkEnable
bool m_bReincarnating; // 0x1768
// MNetworkEnable
bool m_bCustomKillEffect; // 0x1769
private:
[[maybe_unused]] uint8_t __pad176a[0x2]; // 0x176a
public:
// MNetworkEnable
GameTime_t m_flSpawnedAt; // 0x176c
// MNetworkEnable
bool m_bScriptDisableRespawns; // 0x1770
private:
[[maybe_unused]] uint8_t __pad1771[0x3]; // 0x1771
public:
// MNetworkEnable
int32_t m_iPrimaryAttribute; // 0x1774
int32_t m_nLastDrawnHealth; // 0x1778
float m_flHurtAmount; // 0x177c
GameTime_t m_flLastHurtTime; // 0x1780
float m_flHurtDecayRate; // 0x1784
GameTime_t m_flLastHealTime; // 0x1788
GameTime_t m_flLastTreeShakeTime; // 0x178c
CountdownTimer m_CenterOnHeroCooldownTimer; // 0x1790
private:
[[maybe_unused]] uint8_t __pad17a8[0x208]; // 0x17a8
public:
CStrongHandle< InfoForResourceTypeCModel > m_CombinedModels[4]; // 0x19b0
int32_t m_nCurrentCombinedModelIndex; // 0x19d0
int32_t m_nPendingCombinedModelIndex; // 0x19d4
int32_t m_iHeroID; // 0x19d8
float m_flCheckLegacyItemsAt; // 0x19dc
bool m_bDisplayAdditionalHeroes; // 0x19e0
private:
[[maybe_unused]] uint8_t __pad19e1[0xf]; // 0x19e1
public:
CStrongHandle< InfoForResourceTypeCModel > m_CombinedParticleModels[4]; // 0x19f0
CUtlVector< ParticleIndex_t > m_vecAttachedParticleIndeces; // 0x1a10
CUtlVector< CHandle< C_BaseEntity > > m_hPets; // 0x1a28
ParticleIndex_t m_nKillStreakFX; // 0x1a40
int32_t m_nKillStreakFXTier; // 0x1a44
struct
{
uint8_t m_bBuybackDisabled: 1;
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: 0x16f8
class C_DOTA_BaseNPC_Creep : public C_DOTA_BaseNPC_Additive
{
public:
// MNetworkEnable
float m_flAim; // 0x16f0
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_BaseNPC_Creep_Lane : public C_DOTA_BaseNPC_Creep
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_BaseNPC_Creep_Siege : public C_DOTA_BaseNPC_Creep_Lane
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1700
class C_DOTA_BaseNPC_Creep_Neutral : public C_DOTA_BaseNPC_Creep
{
public:
CUtlString m_sDisplayName; // 0x16f8
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_BaseNPC_Creep_Talking : public C_DOTA_BaseNPC_Creep
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_BaseNPC_Creature : public C_DOTA_BaseNPC_Creep
{
public:
// MNetworkEnable
bool m_bIsCurrentlyChanneling; // 0x16f8
private:
[[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9
public:
// MNetworkEnable
float m_flChannelCycle; // 0x16fc
};
// Alignment: 4
// Size: 0x17a0
class C_DOTA_BaseNPC_NeutralItemStash : public C_DOTA_BaseNPC_Building
{
private:
[[maybe_unused]] uint8_t __pad1758[0x10]; // 0x1758
public:
CUtlVector< ParticleIndex_t > m_vecNewItemFX; // 0x1768
bool m_bHasFoundProps; // 0x1780
bool m_bDidHaveNewItems; // 0x1781
private:
[[maybe_unused]] uint8_t __pad1782[0x6]; // 0x1782
public:
CUtlVector< CHandle< C_DynamicPropClientside > > m_vecProps; // 0x1788
};
// Alignment: 0
// Size: 0x1700
class C_DOTA_BaseNPC_Trap_Ward : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1798
class C_DOTA_BaseNPC_Shop : public C_DOTA_BaseNPC_Building
{
public:
// MNetworkEnable
DOTA_SHOP_TYPE m_ShopType; // 0x1758
private:
[[maybe_unused]] uint8_t __pad175c[0x24]; // 0x175c
public:
ParticleIndex_t m_nShopFX; // 0x1780
Vector m_vShopFXOrigin; // 0x1784
float m_flLastSpeech; // 0x1790
};
// Alignment: 1
// Size: 0x1760
class C_DOTA_BaseNPC_HallofFame : public C_DOTA_BaseNPC_Building
{
public:
int32_t m_HallofFame; // 0x1758
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_BaseNPC_Promo : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1738
class C_PortraitHero : public C_DOTA_BaseNPC
{
public:
int32_t m_nHeroID; // 0x16f0
int32_t m_actQueuedActivity; // 0x16f4
char m_szQueuedActivityModifier[64]; // 0x16f8
};
// Alignment: 17
// Size: 0x1950
class C_PortraitWorldUnit : public C_DOTA_BaseNPC
{
public:
bool m_bSuppressIntroEffects; // 0x16f0
bool m_bIsAlternateLoadout; // 0x16f1
bool m_bSpawnBackgroundModels; // 0x16f2
bool m_bDeferredPortrait; // 0x16f3
bool m_bShowParticleAssetModifiers; // 0x16f4
bool m_bIgnorePortraitInfo; // 0x16f5
bool m_bFlyingCourier; // 0x16f6
private:
[[maybe_unused]] uint8_t __pad16f7[0x1]; // 0x16f7
public:
int32_t m_nEffigyStatusEffect; // 0x16f8
private:
[[maybe_unused]] uint8_t __pad16fc[0x4]; // 0x16fc
public:
CUtlSymbolLarge m_effigySequenceName; // 0x1700
float m_flStartingAnimationCycle; // 0x1708
float m_flRareLoadoutAnimChance; // 0x170c
CUtlVector< CUtlSymbolLarge > m_vecActivityModifiers; // 0x1710
DOTAPortraitEnvironmentType_t m_environment; // 0x1728
private:
[[maybe_unused]] uint8_t __pad172c[0x4]; // 0x172c
public:
StartupBehavior_t m_nStartupBehavior; // 0x1730
private:
[[maybe_unused]] uint8_t __pad1734[0x1bc]; // 0x1734
public:
CUtlSymbolLarge m_cameraName; // 0x18f0
private:
[[maybe_unused]] uint8_t __pad18f8[0x50]; // 0x18f8
public:
ParticleIndex_t m_nPortraitParticle; // 0x1948
int32_t m_nCourierType; // 0x194c
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_BaseNPC_Seasonal_Snowman : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_Penguin : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_Dragon : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_CNY_Balloon : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI9_Balloon : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI9_Drums : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI9_Monkey : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_BaseNPC_Frostivus2018_Snowman : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Frostivus2018_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1770
class C_DOTA_Unit_Diretide_Portal : public C_DOTA_BaseNPC_Building
{
public:
CHandle< C_BaseEntity > m_hPartnerPortal; // 0x1758
int32_t m_nRuneType; // 0x175c
int32_t m_nOriginalTeamNumber; // 0x1760
ParticleIndex_t m_nActiveFXIndex; // 0x1764
ParticleIndex_t m_nRuneFXIndex; // 0x1768
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Spring2021_DefusalBomb : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Spring2021_MeteorCrashSite : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Spring2021_AbilityBuilding : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class CDOTA_BaseNPC_Winter2022_CandyBucket : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1700
class CDOTA_BaseNPC_Winter2022_FeedableRoshan : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_AghsFort_SpectralTusk_Tombstone : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1700
class CDOTA_Unit_AghsFort_Creature_DragonKnight : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 1
// Size: 0x16f8
class C_DOTA_Unit_Aghsfort_Aziyog_Underlord_Portal : public C_DOTA_BaseNPC_Additive
{
public:
CHandle< C_BaseEntity > m_hOtherPortal; // 0x16f0
};
// Alignment: 1
// Size: 0x1708
class C_DOTA_Unit_AghsFort_Creature_DungeonBat : public C_DOTA_BaseNPC_Creature
{
public:
ParticleIndex_t m_nFXAmbient; // 0x1700
};
// Alignment: 0
// Size: 0x1700
class C_DOTA_Unit_AghsFort_Creature_Batrider : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1760
class CDOTA_BaseNPC_Effigy_AghsFort : public C_DOTA_BaseNPC_Building
{
public:
uint32_t m_unStatusEffectIndex; // 0x1758
};
// Alignment: 20
// Size: 0x17d0
class CDOTA_BaseNPC_AghsFort_Watch_Tower : public C_DOTA_BaseNPC_Building
{
public:
int32_t m_nOptionNumber; // 0x1758
float m_flMovePlayersRadius; // 0x175c
CDOTA_BaseNPC_AghsFort_Watch_Tower::ExitDirection_t m_nExitDirection; // 0x1760
Vector m_vExitLocation; // 0x1764
int32_t m_nPathSelectedID; // 0x1770
// MNetworkEnable
int32_t m_nEncounterType; // 0x1774
// MNetworkEnable
bool m_bIsEliteEncounter; // 0x1778
// MNetworkEnable
bool m_bIsAscensionLevelPicker; // 0x1779
private:
[[maybe_unused]] uint8_t __pad177a[0x6]; // 0x177a
public:
// MNetworkEnable
CUtlSymbolLarge m_strEncounterName; // 0x1780
// MNetworkEnable
CUtlSymbolLarge m_strAscensionAbilities; // 0x1788
// MNetworkEnable
CHandle< C_BaseEntity > m_hEffigy; // 0x1790
float m_flYaw; // 0x1794
float m_flStartTime; // 0x1798
GameTime_t m_flCursorEnterTime; // 0x179c
bool m_bShowingTooltip; // 0x17a0
private:
[[maybe_unused]] uint8_t __pad17a1[0x1b]; // 0x17a1
public:
float m_flLastUpdateTime; // 0x17bc
ParticleIndex_t m_nChannellingParticle; // 0x17c0
// MNetworkEnable
CHandle< CBaseAnimatingActivity > m_hRoomGate; // 0x17c4
// MNetworkEnable
bool m_bIsBeingChanneled; // 0x17c8
private:
[[maybe_unused]] uint8_t __pad17c9[0x3]; // 0x17c9
public:
// MNetworkEnable
float m_flGoalCaptureProgress; // 0x17cc
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_CustomGameAnnouncerAghanim : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI10_DiscoBall : public C_DOTA_BaseNPC_Additive
{
public:
// Static fields:
static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast<char**>(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<char**>(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<char**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Seasonal_TI10_DiscoBall")->m_static_fields[2]->m_instance);};
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI10_SoccerBall : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI11_Balloon : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_Seasonal_TI11_Balloon_Dire : public CDOTA_BaseNPC_Seasonal_TI11_Balloon
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1758
class CInfoOfrendaStatue : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 7
// Size: 0x1718
class CDOTA_Creature_Jungle_Spirit : public C_DOTA_BaseNPC_Creature
{
public:
int32_t m_iCurrentXP; // 0x1700
float m_fInitialScaleGain; // 0x1704
float m_fScaleGainMultiplierPerLevel; // 0x1708
float m_fLastModelScaleGained; // 0x170c
bool m_bGainedSecondPlatemail; // 0x1710
bool m_bGainedBonusHealth; // 0x1711
private:
[[maybe_unused]] uint8_t __pad1712[0x2]; // 0x1712
public:
ParticleIndex_t m_nAmbientFXIndex; // 0x1714
};
// Alignment: 2
// Size: 0x1760
class CDOTA_BaseNPC_CustomEffigy : public C_DOTA_BaseNPC_Building
{
public:
uint32_t m_unStatusEffectIndex; // 0x1758
CHandle< C_BaseEntity > m_hPedestal; // 0x175c
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_BaseNPC_JungleVarmint : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1760
class C_DOTA_Unit_Twin_Gate : public C_DOTA_BaseNPC_Building
{
public:
CHandle< C_BaseEntity > m_hOtherPortal; // 0x1758
};
// Alignment: 0
// Size: 0x16f0
class CIngameEvent_MuertaReleaseSpring2023_DummyModifierHolder : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_DataDriven : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_AghsFort_EarthSpiritBoss_Stone : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1700
class C_DOTA_NPC_Aghsfort_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive
{
public:
ParticleIndex_t m_nFXSkullIndex; // 0x16f0
// MNetworkEnable
int32_t m_nTargetType; // 0x16f4
// MNetworkEnable
int32_t m_nTargetFlags; // 0x16f8
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_AghsFort_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1718
class C_DOTA_AghsFort_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep
{
public:
CountdownTimer m_ctRespawn; // 0x16f8
C_DOTA_BaseNPC* m_pTombstone; // 0x1710
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_AghsFort_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_AghsFort_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_AghsFort_Hero_Phoenix : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1a60
class CDOTA_AghsFort_Unit_ArcWarden_Boss : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nTalkFXIndex; // 0x1a50
ParticleIndex_t m_nFXDeath; // 0x1a54
ParticleIndex_t m_nTempestFX; // 0x1a58
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Aghsfort_PrimalBeast_Boss : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_AghsFort_Hero_Clinkz : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Archer : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1700
class C_DOTA_BaseNPC_AghsFort_Clinkz_Skeleton_Colossus : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_AncientApparition : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_AntiMage : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Bane : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Pudge : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Juggernaut : public C_DOTA_BaseNPC_Hero
{
public:
uint32_t m_unOmniKills; // 0x1a50
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Nevermore : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_SandKing : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Mirana : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Sven : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1a80
class C_DOTA_Unit_Hero_SkeletonKing : public C_DOTA_BaseNPC_Hero
{
public:
int32_t m_nSkeletonWarriors; // 0x1a50
// MNetworkEnable
// MNetworkChangeCallback "OnSKArcanaProgressChanged"
int32_t m_vecInitialHeroKillBitmask[5]; // 0x1a54
// MNetworkEnable
// MNetworkChangeCallback "OnSKArcanaProgressChanged"
int32_t m_vecInGameHeroKillBitmask[5]; // 0x1a68
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_StormSpirit : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_DrowRanger : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Earthshaker : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_VengefulSpirit : public C_DOTA_BaseNPC_Hero
{
public:
bool m_bArcanaEquipped; // 0x1a50
};
// Alignment: 2
// Size: 0x1a58
class C_DOTA_Unit_Hero_CrystalMaiden : public C_DOTA_BaseNPC_Hero
{
public:
int32_t m_iParticleMouthIndex; // 0x1a50
int32_t m_iParticleHandRIndex; // 0x1a54
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Axe : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Bloodseeker : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_PhantomLancer : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1a60
class C_DOTA_Unit_Hero_Razor : public C_DOTA_BaseNPC_Hero
{
public:
int32_t m_iPoseParameterAim; // 0x1a50
int32_t m_iPoseParameterRange; // 0x1a54
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_nTargetAngle; // 0x1a58
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_nTargetRange; // 0x1a5c
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Lina : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Morphling : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_ZeusCloud : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Zuus : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Kunkka : public C_DOTA_BaseNPC_Hero
{
public:
int32_t m_nFXIndex; // 0x1a50
};
// Alignment: 4
// Size: 0x1a60
class C_DOTA_Unit_Hero_Tiny : public C_DOTA_BaseNPC_Hero
{
public:
CHandle< C_BaseEntity > m_hTreeWearable; // 0x1a50
ParticleIndex_t m_nFXIndexScepterAmbient; // 0x1a54
// MNetworkEnable
CHandle< C_DOTA_BaseNPC > m_hIllusionOwner; // 0x1a58
// MNetworkEnable
bool m_bIllusionHasTree; // 0x1a5c
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Puck : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1a60
class C_DOTA_Unit_Hero_Windrunner : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_nTargetAngle; // 0x1a50
int32_t m_iPoseParameterAim; // 0x1a54
ParticleIndex_t m_nFXDeath; // 0x1a58
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Lich : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_Lich_Ice_Spire : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Tidehunter : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_BaseNPC_ShadowShaman_SerpentWard : public C_DOTA_BaseNPC_Additive
{
public:
QAngle m_angle; // 0x16f0
int32_t m_iPoseParameterAim; // 0x16fc
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_ShadowShaman : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a58
class C_DOTA_Unit_Hero_Riki : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Enigma : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Tinker : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_WitchDoctor : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1700
class C_DOTA_NPC_WitchDoctor_Ward : public C_DOTA_BaseNPC_Additive
{
public:
ParticleIndex_t m_nFXSkullIndex; // 0x16f0
// MNetworkEnable
int32_t m_nTargetType; // 0x16f4
// MNetworkEnable
int32_t m_nTargetFlags; // 0x16f8
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Sniper : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a58
class C_DOTA_Unit_Hero_Necrolyte : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Slardar : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Ursa : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Lion : public C_DOTA_BaseNPC_Hero
{
public:
uint32_t m_unFingerPrestigeKills; // 0x1a50
};
// Alignment: 1
// Size: 0x1720
class CDOTA_Unit_Announcer : public C_DOTA_BaseNPC
{
public:
CAnnouncerDescriptor m_currentAnnouncer; // 0x16f0
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_CustomGameAnnouncer : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 7
// Size: 0x17e8
class C_DOTA_Unit_Courier : public C_DOTA_BaseNPC_Additive
{
public:
bool m_bUnitRespawned; // 0x16f0
bool m_bPreUpdateFlyingCourier; // 0x16f1
private:
[[maybe_unused]] uint8_t __pad16f2[0x2]; // 0x16f2
public:
// MNetworkEnable
PlayerID_t m_nSoleControllingPlayer; // 0x16f4
// MNetworkEnable
bool m_bFlyingCourier; // 0x16f8
private:
[[maybe_unused]] uint8_t __pad16f9[0x3]; // 0x16f9
public:
// MNetworkEnable
GameTime_t m_flRespawnTime; // 0x16fc
// MNetworkEnable
CourierState_t m_nCourierState; // 0x1700
// MNetworkEnable
CHandle< C_BaseEntity > m_hCourierStateEntity; // 0x1704
};
// Alignment: 5
// Size: 0x17e8
class C_DOTA_Unit_Scout : public C_DOTA_BaseNPC_Additive
{
public:
bool m_bUnitRespawned; // 0x16f0
private:
[[maybe_unused]] uint8_t __pad16f1[0x3]; // 0x16f1
public:
// MNetworkEnable
PlayerID_t m_nSoleControllingPlayer; // 0x16f4
// MNetworkEnable
GameTime_t m_flRespawnTime; // 0x16f8
// MNetworkEnable
ScoutState_t m_nScoutState; // 0x16fc
// MNetworkEnable
CHandle< C_BaseEntity > m_hScoutStateEntity; // 0x1700
};
// Alignment: 0
// Size: 0x1758
class C_DOTA_Unit_Fountain : public C_DOTA_BaseNPC_Building
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1718
class C_DOTA_Unit_Roshan : public C_DOTA_BaseNPC_Additive
{
public:
int32_t m_iLastHealthPercent; // 0x16f0
ParticleIndex_t m_nFXIndex; // 0x16f4
CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x16f8
// MNetworkEnable
bool m_bGoldenRoshan; // 0x1710
bool m_bIsNightTimeMode; // 0x1711
};
// Alignment: 3
// Size: 0x1710
class C_DOTA_Unit_Miniboss : public C_DOTA_BaseNPC_Additive
{
public:
int32_t m_nTimesSpawned; // 0x16f0
int32_t m_nTempViewer; // 0x16f4
CUtlVector< CHandle< C_BaseEntity > > m_hAttackingHeroes; // 0x16f8
};
// Alignment: 0
// Size: 0x1700
class C_DOTA_Unit_Nian : public C_DOTA_BaseNPC_Creature
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_BaseNPC_Warlock_Golem : public C_DOTA_BaseNPC_Creep
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Warlock : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class CODTA_Unit_Warlock_Imp : public C_DOTA_BaseNPC_Creep
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Beastmaster : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_Unit_Hero_Beastmaster_Beasts : public C_DOTA_BaseNPC_Creep_Talking
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_Unit_Hero_Beastmaster_Hawk : public C_DOTA_Unit_Hero_Beastmaster_Beasts
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_Unit_Hero_Beastmaster_Boar : public C_DOTA_Unit_Hero_Beastmaster_Beasts
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_QueenOfPain : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_BaseNPC_Venomancer_PlagueWard : public C_DOTA_BaseNPC_Additive
{
public:
QAngle m_angle; // 0x16f0
int32_t m_iPoseParameterAim; // 0x16fc
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Venomancer : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_FacelessVoid : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_DeathProphet : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Pugna : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1a58
class C_DOTA_Unit_Hero_PhantomAssassin : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
// MNetworkEnable
uint32_t m_nArcanaLevel; // 0x1a54
};
// Alignment: 1
// Size: 0x16f8
class CDOTA_BaseNPC_Phantom_Assassin_GroundDagger : public C_DOTA_BaseNPC_Additive
{
public:
ParticleIndex_t m_nFXIndex; // 0x16f0
// Static fields:
static char* &Get_PARTICLE_SPAWN(){return *reinterpret_cast<char**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CDOTA_BaseNPC_Phantom_Assassin_GroundDagger")->m_static_fields[0]->m_instance);};
};
// Alignment: 1
// Size: 0x1798
class C_DOTA_PhantomAssassin_Gravestone : public C_DOTA_BaseNPC_Additive
{
public:
PlayerID_t m_nVictimPlayerID; // 0x16f0
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_TemplarAssassin : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_TemplarAssassin_PsionicTrap : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Viper : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 5
// Size: 0x1a68
class C_DOTA_Unit_TargetDummy : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
float m_flDamageTaken; // 0x1a50
// MNetworkEnable
float m_flLastHit; // 0x1a54
// MNetworkEnable
GameTime_t m_flStartDamageTime; // 0x1a58
// MNetworkEnable
GameTime_t m_flLastDamageTime; // 0x1a5c
bool m_bIsMoving; // 0x1a60
};
// Alignment: 3
// Size: 0x1800
class C_DOTA_Unit_LoopingSound : public C_DOTA_BaseNPC_Additive
{
private:
[[maybe_unused]] uint8_t __pad16f0[0x8]; // 0x16f0
public:
int32_t m_nPrevLoopingSoundParity; // 0x16f8
// MNetworkEnable
char m_pszNetworkedSoundLoop[256]; // 0x16fc
// MNetworkEnable
int32_t m_nLoopingSoundParity; // 0x17fc
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Luna : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_DragonKnight : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Dazzle : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Leshrac : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Rattletrap : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Furion : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Life_Stealer : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_DarkSeer : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nNormalPunchBuffIndex; // 0x1a50
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_BaseNPC_Clinkz_Skeleton_Army : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Clinkz : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Omniknight : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Enchantress : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Huskar : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_NightStalker : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Broodmother : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_Unit_Broodmother_Spiderling : public C_DOTA_BaseNPC_Creep_Talking
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_Unit_Broodmother_Web : public C_DOTA_BaseNPC_Additive
{
public:
ParticleIndex_t m_nFXIndex; // 0x16f0
Vector m_vecOrigin; // 0x16f4
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_BroodmotherStickyWeb : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_BountyHunter : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Weaver : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Jakiro : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Batrider : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Chen : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 4
// Size: 0x1a60
class C_DOTA_Unit_Hero_Spectre : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnSpectreArcanaProgressChanged"
uint8_t m_unCurrentArcanaKillStreak; // 0x1a50
// MNetworkEnable
// MNetworkChangeCallback "OnSpectreArcanaProgressChanged"
uint8_t m_unBestArcanaKillStreak; // 0x1a51
private:
[[maybe_unused]] uint8_t __pad1a52[0x2]; // 0x1a52
public:
// MNetworkEnable
// MNetworkChangeCallback "OnSpectreArcanaProgressChanged"
PlayerID_t m_nVictimPlayerID; // 0x1a54
// MNetworkEnable
// MNetworkChangeCallback "OnSpectreArcanaProgressChanged"
bool m_bArcanaKillstreakRecordBroken; // 0x1a58
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_DoomBringer : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_SpiritBreaker : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Gyrocopter : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Alchemist : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Invoker : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f8
class C_DOTA_BaseNPC_Invoker_Forged_Spirit : public C_DOTA_BaseNPC_Creep
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Silencer : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Obsidian_Destroyer : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Brewmaster : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_Unit_Brewmaster_PrimalEarth : public C_DOTA_BaseNPC_Creep
{
public:
ParticleIndex_t m_nFXEarthAmbient1; // 0x16f8
ParticleIndex_t m_nFXEarthAmbient2; // 0x16fc
};
// Alignment: 2
// Size: 0x1700
class C_DOTA_Unit_Brewmaster_PrimalStorm : public C_DOTA_BaseNPC_Creep
{
public:
ParticleIndex_t m_nFXStormAmbient1; // 0x16f8
ParticleIndex_t m_nFXStormAmbient2; // 0x16fc
};
// Alignment: 1
// Size: 0x1700
class C_DOTA_Unit_Brewmaster_PrimalFire : public C_DOTA_BaseNPC_Creep
{
public:
ParticleIndex_t m_nFXAmbient; // 0x16f8
};
// Alignment: 1
// Size: 0x1700
class C_DOTA_Unit_Brewmaster_PrimalVoid : public C_DOTA_BaseNPC_Creep
{
public:
ParticleIndex_t m_nFXAmbient; // 0x16f8
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Lycan : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Shadow_Demon : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x16f8
class C_DOTA_Unit_SpiritBear : public C_DOTA_BaseNPC_Additive
{
public:
// MNetworkEnable
bool m_bShouldRespawn; // 0x16f0
// MNetworkEnable
bool m_bStolen; // 0x16f1
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_LoneDruid : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_ChaosKnight : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Meepo : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
int32_t m_nWhichMeepo; // 0x1a50
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Treant : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_Treant_EyesInTheForest : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Ogre_Magi : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_Undying_Tombstone : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1718
class C_DOTA_Unit_Undying_Zombie : public C_DOTA_BaseNPC_Creep
{
public:
CountdownTimer m_ctRespawn; // 0x16f8
C_DOTA_BaseNPC* m_pTombstone; // 0x1710
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Undying : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 11
// Size: 0x1ac8
class C_DOTA_Unit_Hero_Rubick : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnAbilityColorChanged"
Vector m_stolenAbilityColorHSV1; // 0x1a50
// MNetworkEnable
// MNetworkChangeCallback "OnAbilityColorChanged"
Vector m_stolenAbilityColorHSV2; // 0x1a5c
// MNetworkEnable
// MNetworkChangeCallback "OnAbilityColorChanged"
Vector m_stolenAbilityFXColorHSV; // 0x1a68
// MNetworkDisable
bool m_bHasInitializedAbilityColors; // 0x1a74
private:
[[maybe_unused]] uint8_t __pad1a75[0x3]; // 0x1a75
public:
Vector m_startAbilityColorHSV1; // 0x1a78
Vector m_startAbilityColorHSV2; // 0x1a84
Vector m_startAbilityFXColorHSV; // 0x1a90
Vector m_currAbilityColorHSV1; // 0x1a9c
Vector m_currAbilityColorHSV2; // 0x1aa8
Vector m_currAbilityFXColorHSV; // 0x1ab4
GameTime_t m_flStartTime; // 0x1ac0
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Disruptor : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Nyx_Assassin : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Naga_Siren : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_IngisFatuus : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_KeeperOfTheLight : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 8
// Size: 0x1a68
class C_DOTA_Unit_Hero_Wisp : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nAmbientFXIndex; // 0x1a50
ParticleIndex_t m_nStunnedFXIndex; // 0x1a54
ParticleIndex_t m_nTalkFXIndex; // 0x1a58
ParticleIndex_t m_nIllusionFXIndex; // 0x1a5c
bool m_bParticleHexed; // 0x1a60
bool m_bParticleStunned; // 0x1a61
bool m_bDetermineAmbientEffect; // 0x1a62
private:
[[maybe_unused]] uint8_t __pad1a63[0x1]; // 0x1a63
public:
float m_flPrevHealth; // 0x1a64
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Wisp_Spirit : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Visage : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1700
class C_DOTA_Unit_VisageFamiliar : public C_DOTA_BaseNPC_Creep
{
public:
ParticleIndex_t m_nFXAmbient; // 0x16f8
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Slark : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Medusa : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_TrollWarlord : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Centaur : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Magnataur : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Shredder : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Bristleback : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Tusk : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1700
class C_DOTA_BaseNPC_Tusk_Sigil : public C_DOTA_BaseNPC_Additive
{
public:
QAngle m_angInitialAngles; // 0x16f0
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Skywrath_Mage : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Abaddon : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_Elder_Titan_AncestralSpirit : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Elder_Titan : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Legion_Commander : public C_DOTA_BaseNPC_Hero
{
public:
uint32_t m_unDuelsWon; // 0x1a50
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Techies : public C_DOTA_BaseNPC_Hero
{
public:
bool m_bLastDeathFromSuicide; // 0x1a50
};
// Alignment: 1
// Size: 0x16f8
class C_DOTA_NPC_TechiesMines : public C_DOTA_BaseNPC_Additive
{
public:
ParticleIndex_t m_iRangeFX; // 0x16f0
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_NPC_Techies_Minefield_Sign : public C_DOTA_BaseNPC_Additive
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_EmberSpirit : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_Unit_Earth_Spirit_Stone : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_EarthSpirit : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class CDOTA_Unit_Hero_AbyssalUnderlord : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_iRangeFX; // 0x1a50
};
// Alignment: 1
// Size: 0x1760
class C_DOTA_Unit_Underlord_Portal : public C_DOTA_BaseNPC_Building
{
public:
CHandle< C_BaseEntity > m_hOtherPortal; // 0x1758
};
// Alignment: 3
// Size: 0x1a68
class C_DOTA_Unit_Hero_Terrorblade : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
private:
[[maybe_unused]] uint8_t __pad1a54[0x4]; // 0x1a54
public:
CUtlString m_szResponseCriteria; // 0x1a58
// MNetworkEnable
uint32_t m_nArcanaColor; // 0x1a60
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Phoenix : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Oracle : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 1
// Size: 0x1a58
class C_DOTA_Unit_Hero_Winter_Wyvern : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 3
// Size: 0x1a60
class CDOTA_Unit_Hero_ArcWarden : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nTalkFXIndex; // 0x1a50
ParticleIndex_t m_nFXDeath; // 0x1a54
ParticleIndex_t m_nTempestFX; // 0x1a58
};
// Alignment: 4
// Size: 0x1a60
class C_DOTA_Unit_Hero_MonkeyKing : public C_DOTA_BaseNPC_Hero
{
public:
bool mb_MonkeyHasArcana; // 0x1a50
private:
[[maybe_unused]] uint8_t __pad1a51[0x3]; // 0x1a51
public:
// MNetworkEnable
uint32_t m_nTreeDisguise; // 0x1a54
// MNetworkEnable
// MNetworkChangeCallback "OnPerchedTreeChanged"
uint32_t m_nPerchedTree; // 0x1a58
CHandle< C_BaseEntity > m_hTreeDisguiseEnt; // 0x1a5c
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Pangolier : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_DarkWillow : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x16f0
class C_DOTA_DarkWillow_Creature : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class CDOTA_Unit_Hero_Grimstroke : public C_DOTA_BaseNPC_Hero
{
public:
ParticleIndex_t m_nFXDeath; // 0x1a50
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Unit_Grimstroke_InkCreature : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Mars : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Snapfire : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Void_Spirit : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class C_DOTA_Unit_Hero_Hoodwink : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 1
// Size: 0x1a58
class CDOTA_Unit_Hero_Dawnbreaker : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
int32_t m_nAttackState; // 0x1a50
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_Marci : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1a50
class CDOTA_Unit_Hero_PrimalBeast : public C_DOTA_BaseNPC_Hero
{
public:
// No members available
};
// Alignment: 2
// Size: 0x1a60
class C_DOTA_Unit_Hero_Muerta : public C_DOTA_BaseNPC_Hero
{
public:
// MNetworkEnable
// MNetworkPriority "32"
CHandle< C_BaseEntity > m_hDoubleShotTarget; // 0x1a50
QAngle m_qStartAngle; // 0x1a54
};
// Alignment: 0
// Size: 0x16f0
class CDOTA_Muerta_Revenant : public C_DOTA_BaseNPC
{
public:
// No members available
};
// Alignment: 3
// Size: 0x1708
class CDOTA_NPC_Observer_Ward : public C_DOTA_BaseNPC_Additive
{
public:
int32_t m_iDuration; // 0x16f0
private:
[[maybe_unused]] uint8_t __pad16f4[0x4]; // 0x16f4
public:
CNewParticleEffect* m_pVisionRangeFX; // 0x16f8
int32_t m_nPreviewViewer; // 0x1700
};
// Alignment: 3
// Size: 0x1718
class CDOTA_NPC_Observer_Ward_TrueSight : public CDOTA_NPC_Observer_Ward
{
public:
int32_t m_iTrueSight; // 0x1708
CEntityHandle m_hCasterEntity; // 0x170c
CEntityHandle m_hAbilityEntity; // 0x1710
};
// Alignment: 8
// Size: 0x1738
class C_DOTA_PortraitEntity : public C_DOTA_BaseNPC
{
public:
CountdownTimer m_PetIdleTimer; // 0x16f0
ParticleIndex_t m_nMouthFX; // 0x1708
int32_t m_nMouthControlPoint; // 0x170c
ParticleIndex_t m_iPortraitParticle; // 0x1710
int32_t m_PortraitActivity; // 0x1714
CUtlVector< CUtlSymbol > m_CustomActivityModifiers; // 0x1718
bool m_bIsSimulationActive; // 0x1730
private:
[[maybe_unused]] uint8_t __pad1731[0x3]; // 0x1731
public:
CEntityHandle m_hAppearanceFromNPC; // 0x1734
};
// Alignment: 0
// Size: 0x1738
class C_DOTA_PortraitEntity_FullBody : public C_DOTA_PortraitEntity
{
public:
// No members available
};
// Alignment: 0
// Size: 0x1720
class CDOTA_Unit_Announcer_Killing_Spree : public CDOTA_Unit_Announcer
{
public:
// No members available
};