Code:using System.Reflection; namespace LazyLib.Wow { public class PublicPointers { /// <summary> /// Globals /// </summary> public enum Globals { PlayerName = 0x29F78F8, } /// <summary> /// InGame /// </summary> public enum InGame { InGame = 0x29186C4, LoadingScreen = 0x25E3630, RealmName = 0x2864650, } } internal class Pointers { /// <summary> /// ActionBar /// </summary> internal enum ActionBar { ActionBarFirstSlot = 0x2924550, ActionBarBonus = ActionBarFirstSlot + 0x240, CurrentActionBar = 0x2924BA4, } /// <summary> /// Battleground /// </summary> internal enum Battleground { BattlegroundStartTickcount = 0x2922994, Timestamp = 0x2635B7C, //todo fix pattern all these bg ones IsBattlegroundFinished = 0x2922C3C, BattlegroundWinner = 0x2922C40, BattlegroundInfo = 0x2552220, UISelectedBattlegroundId = 0x296638B, // dont use this } /// <summary> /// Corpse /// </summary> internal enum Corpse { X = 0x2548800, Y = X + 0x4, Z = X + 0x8, } /// <summary> /// Party /// </summary> internal enum Party { PartyOffset = 0x29227F0, IsInGroupHome = 0x29227F0, IsInGroupInstance = 0x29227F8, NumOfPlayers = 0x178, NumOfPlayers_SuBGroup = 0x17C, PlayerGuid = 0x10, } /// <summary> /// AutoLoot /// </summary> internal enum AutoLoot { Pointer = 0x2918348, Offset = 0x5C, } /// <summary> /// ClickToMove /// </summary> internal enum ClickToMove { Pointer = 0x2918328, Offset = 0x5C, } /// <summary> /// Reversed from CGUnit_C__GetCreatureRank /// </summary> internal enum CgUnitCGetCreatureRank { Offset1 = 0x17B8, Offset2 = 0x34, } /// <summary> /// reversed from CGUnit_C__GetCreatureType /// </summary> internal enum CgUnitCGetCreatureType { Offset1 = 0x17B8, Offset2 = 0x30, } /// <summary> /// reversed from CGWorldFrame__GetActiveCamera /// </summary> internal enum CgWorldFrameGetActiveCamera { CameraPointer = 0x2919230, //todo fix pattern CameraOffset = 0x3330, CameraX = 0x8, CameraY = 0xC, CameraZ = 0x10, CameraMatrix = 0x14, } /// <summary> /// Search for CGUnit_C::GetSkinnableType_Checked /// </summary> internal enum Skinning { SkinnableFlags1 = 0x17B8, SkinnableFlags2 = 0x0CC, } /// <summary> /// AuctionHouse /// </summary> internal enum AuctionHouse { AuctionListCount = 0x2964368, AuctionList = 0x2964370, AuctionOwnerCount = 0x2964388, AuctionOwnerList = 0x2964390, AuctionBidderCount = 0x29643A8, // todo fix pattern AuctionBidderList = 0x29643B0, } /// <summary> /// reversed from CGActionBar__IsCurrentAction /// </summary> internal enum AutoAttack { IsAutoRepeatingSpell = 0x2650990, IsInMelee = 0xAF6C, IsInMelee1 = 0x18A8, AutoAttackFlag = 0xEE8, AutoAttackMask = 0xEEC, ///Address seems to show the GUID of the Auto Attack target AutoAttackGUID = 0xAF6C, ///Shows 0x06 when not wanding, 0x0C or 0x0E when wanding ///Wanding = 0xEF8 } /// <summary> /// CastingInfo /// </summary> internal enum CastingInfo { IsCasting = 0x1990, ChanneledCasting = 0x670, } /// <summary> /// reversed from CGWorldFrame__GetActiveCamera /// </summary> internal enum Chat : uint { ChatStart = 0x28E6220, chatBufferPos = 0x2915D40, OffsetToNextMsg = 0xCB8, MsgSenderGuid = 0x00, MsgSenderName = 0x34, MsgFullMessage = 0xE6, MsgChatType = 0xCA0, MsgChannelNum = 0xCA4, MsgTimeStamp = 0xCB0, ChatQueueDepth = 0x3C, } /// <summary> /// BlueChat /// </summary> internal enum Messages { EventMessage = 0x2917610, } /// <summary> /// Container /// </summary> internal enum Container { EquippedBagGUID = 0x29227E0, } /// <summary> /// Globals /// </summary> internal enum Globals { RedMessage = 0x2917610, MouseOverGUID = 0x29186E8, LootWindow = 0x29280A0, ChatboxIsOpen = 0x265B0A4, CursorType = 0x29B0AF0, // todo fix pattern CursorType2 = CursorType + 0x04, SelectedSpellId = 0x2936A08, CGGameUI__m_cursorItem = 0x2917598, CGGameUI__m_cursorSpell = 0x29175C0, IsMouseButtonPressed = 0x2635BCC, Indoors = 0x2639BB9, IsBobbing = 0x14C, ArchFacing = 0x198, ArchFacingOffset2 = 0x30, } /// <summary> /// KeyBinding /// </summary> internal enum KeyBinding { NumKeyBindings = 0x2926388, First = 0x188, Next = 0x178, Key = 0x30, Command = 0x58, } /// <summary> /// Quest /// </summary> internal enum Quest { m_quests = 0x2926AF0, m_numQuests = 0x2926980, m_currentQuest = 0x294AFE4, m_questTitle = 0x2956130, m_gossipQuests = 0x291D398, QuestsCompleted = 0x261BB7C, GetNumQuestChoices = 0x295A530, GetQuestReward = 0x295A538, CGQuestInfo_Available__Quest = 0x2959C30, CGQuestInfo_Available__Num = 0x294AFFC, CGQuestInfo_Active__Num = 0x294B000, CGQuestInfo_Active__Quest = 0x2950484, } /// <summary> /// ObjectManager /// </summary> internal enum ObjectManager { CurMgrPointer = 0x26F64B8, LocalPlayerGUID = 0x29F78E0, TargetGUID = 0x2550900, PetGUID = 0x292766C, StorageField = 0x10, ObjectType = 0x20, NextObject = 0x70, FirstObject = 0x18, LocalGUID = 0x58, } /// <summary> /// Script_UnitAffectingCombat ///v4 = v2 && (*(_DWORD *)(*(_DWORD *)(v2 + 284) + 316) >> 19) & 1; /// </summary> internal enum InCombat { Mask = 19, Offset2 = 0x158, Offset1 = 0x188, } /// <summary> /// Runes /// </summary> internal enum Runes { RuneTypes = 0x0, RunesOffset = 0x0, //Offset is usually RuneTypes + 0x64 } /// <summary> /// CGUnit_C__GetShapeshiftFormId /// </summary> internal enum ShapeshiftForm { BaseAddressOffset1 = 0x188, BaseAddressOffset2 = 0x27B, } /// <summary> /// SpellCooldown /// </summary> internal enum SpellCooldown : uint { CooldPown = 0x253D840, } /// <summary> /// Search for PowerTypePointer /// </summary> internal enum PowerIndex { PowerIndexArrays = 0x269CD90, Multiplicator = 13, } /// <summary> /// Swimming /// </summary> internal enum Swimming { Pointer = 0x198, Offset = 0x58, Mask = 0x100000, } /// <summary> /// IsFlying /// </summary> internal enum IsFlying { Pointer = 0x198, Offset = 0x58, Mask = 0x1000000, } /// <summary> /// IsFalling /// </summary> internal enum IsFalling { Pointer = 0x198, Offset = 0x58, Mask = 0x1000000, } /// <summary> /// reversed from CGUnit_C__GetAura /// </summary> internal enum UnitAuras : uint { AuraCount1 = 0x1AC8, AuraCount2 = 0x1AD0, AuraTable1 = 0x1AD0, AuraTable2 = 0x1AC8, AuraSize = 0xA8, AuraSpellId = 0x88, AuraStack = 0x39, TimeLeft = 0x40, OwnerGUID = 0x20, AuraTableOffset = 0x00, AuraFlags = 0x90, AuraLevel = 0x92, } /// <summary> /// UnitName /// </summary> internal enum UnitName : uint { ObjectName1 = 0x478, ObjectName2 = 0xE0, PlayerNameGUIDOffset = 0x20, PlayerNameStringOffset = 0x31, PlayerNameCacheNext = 0x0, PlayerNameCachePointer = 0x231EB18, UnitName1 = 0x17B8, UnitName2 = 0xE0, } /// <summary> /// UnitSpeed /// </summary> internal enum UnitSpeed { Pointer1 = 0x198, Pointer2 = 164, } /// <summary> /// WowObject /// </summary> internal enum WowObject { X = 0x1600, Y = X + 0x4, Z = X + 0x8, RotationOffset = X + 0x10, Pitch = X + 0x14, GameObjectX = 0x1B0, GameObjectY = GameObjectX + 0x4, GameObjectZ = GameObjectX + 0x8, GameObjectRotation = GameObjectX + 0x10, TransportGUID = 0x15F0, } /// <summary> /// Zone /// </summary> internal enum Zone : uint { ZoneText = 0x2917560, ZoneID = 0x291760C, SubZoneText = 0x2917568, ContinentId = 0x233997C, GetContinentIDOffset = 0xE0, } /// <summary> /// UiFrame /// </summary> internal enum UiFrame { ScrWidth = 0x231D8B4, ScrHeight = 0x231D8B8, FrameBase = 0x26365C8, CurrentFramePtr = 0x26365C8, CurrentFrameOffset = 0x1A0, FirstFrame = 0xCD0, NextFrame = 0xCC0, LastFrame = 0x0CC8, RegionsFirst = 0x1A8, RegionsNext = 0x198, Visible = 0xC8, Visible1 = 0xA, Visible2 = 1, LabelText = 0x188, Name = 0x20, FrameBottom = 0x90, FrameLeft = 0x94, FrameTop = 0x98, FrameRight = 0x9C, EffectiveScale = 0xC0, ParentFrame = 0xD0, IconNumber = 0xF0, ButtonEnabledPointer = 0x210, ButtonEnabledMask = 0xF, ButtonChecked = 0x268, EditBoxText = 0x238, } } }