Ejemplo n.º 1
0
 public bool IfCast(GameObject go) {
     if (go.HasBuff(this.ID)) {
         this.SendCast();
         return true;
     }
     return false;
 }
Ejemplo n.º 2
0
        public static void PrintStorageDescriptors(GameObject go) {
            Console.WriteLine("//////".PadRight(paddistance/2) + "Storage Printing START" +"//////".PadLeft(paddistance/2));
            try {
                Console.WriteLine("ObjectStorage: ".PadRight(paddistance) + String.Format("0x{0:X}", go.DescriptorArrayAddress) );
            }
            catch {
                Console.WriteLine("//////".PadRight(paddistance / 2) + "Storage Printing ERROR" + "//////".PadLeft(paddistance / 2));
            }
            foreach (Constants.Const.descriptors enumValue in Enum.GetValues(typeof(Constants.Const.descriptors))) {
                try {
                    if (enumValue.ToString().Contains("64")) {
                        Console.WriteLine(enumValue.ToString().PadRight(paddistance) + string.Format("0x{0:X}", Program.wow.ReadUInt64(go.DescriptorArrayAddress + (uint)enumValue)));
                    }
                    else if (enumValue.ToString().Contains("8")){
                        byte asd = Program.wow.ReadByte(go.DescriptorArrayAddress + (uint)enumValue);
                        Console.WriteLine(enumValue.ToString().PadRight(paddistance) + ((int)asd).ToString().PadRight(paddistance) + "0x{0:X}",(go.DescriptorArrayAddress + (uint)enumValue));
                    }
                    else {
                        Console.WriteLine(enumValue.ToString().PadRight(paddistance) + string.Format("{0}", Program.wow.ReadUInt(go.DescriptorArrayAddress + (uint)enumValue)));
                    }

                }
                catch {
                    Console.WriteLine("//////".PadRight(paddistance / 2) + "Storage Printing ERROR" + "//////".PadLeft(paddistance / 2));
                }
            }
            Console.WriteLine("//////".PadRight(paddistance / 2) + "Storage Printing END" + "//////".PadLeft(paddistance / 2));
        }
Ejemplo n.º 3
0
 public override bool ReCast(GameObject go) {
     if (!go.HasBuff(cot) && !go.HasBuff(cote) && !go.HasBuff(cow) && !go.HasBuff(coe)) {
         this.SendCast();
         return true;
     }
     else {
         return false;
     }
 }
Ejemplo n.º 4
0
 public virtual bool ReCast(GameObject go) {
     uint SpellPending = Program.wow.ReadUInt((uint)Program.wow.MainModule.BaseAddress + (uint)Constants.Const.Globals.SpellIsPending);
     if (!go.HasBuff(this.ID) && SpellPending==0) {
         this.SendCast();
         return true;
     }
     else {
         return false;
     }
 }
Ejemplo n.º 5
0
        static void Main(string[] args) {
            //Open the proccess
            wow = new BlackMagic();
            wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle(PROCESS_WINDOW_TITLE));
            //Setup Object Manager and First object base address
            ObjMgrAddr = wow.ReadUInt(wow.ReadUInt((uint)wow.MainModule.BaseAddress + (uint)Constants.Const.ObjectManager.CurMgrPointer) + (uint)Constants.Const.ObjectManager.CurMgrOffset);
            FirstObject = new GameObject(wow.ReadUInt(ObjMgrAddr + (uint)Constants.Const.ObjectManager.FirstObject));
            //Read TargetGUID from globals and find in the Object Manager
            //UInt64 CurrTargetGUID = wow.ReadUInt64((uint)wow.MainModule.BaseAddress + (uint)Const.Globals.CurrentTargetGUID);
            UInt64 CurrTargetGUID = wow.ReadUInt64((uint)wow.MainModule.BaseAddress + (uint)Constants.Const.Globals.CurrentTargetGUID);
            PlayerObject = new GameObject(wow.ReadUInt64((uint)wow.MainModule.BaseAddress + (uint)Constants.Const.Globals.PlayerGUID));
            TargetObject = new GameObject(CurrTargetGUID);
            PlayerObject.Wowclass = wow.ReadByte(PlayerObject.DescriptorArrayAddress + (uint)Const.descriptors.Class8);

            System.Timers.Timer aTimer = new System.Timers.Timer();
            aTimer.Interval = 100;
            if (PlayerObject.Wowclass == 9) {
                Console.WriteLine("Initiate Affliction Warlock DPS BOT v1.0");
                aTimer.Elapsed += WarlockDPS.DpsEvent;
            }
            else if (PlayerObject.Wowclass == 11) {
                Console.WriteLine("Initiate Feral Druid DPS BOT v0.1");
                aTimer.Elapsed += DruidDPS.DpsEvent;
            }
            aTimer.AutoReset = true;
            aTimer.Enabled = true;
            while (true) {
                switch (Console.ReadLine()) {
                    case "stop":
                        Console.WriteLine("STOP");
                        aTimer.Elapsed -= DruidDPS.DpsEvent;
                        aTimer.Elapsed -= WarlockDPS.DpsEvent;
                        aTimer.Elapsed -= PrinterEvent;
                        break;
                    case "printer":
                        aTimer.Elapsed += PrinterEvent;
                        break;
                    case "start":
                        if (PlayerObject.Wowclass == 9) {
                            Console.WriteLine("Initiate Affliction Warlock DPS BOT v1.0");
                            aTimer.Elapsed += WarlockDPS.DpsEvent;
                        }
                        else if (PlayerObject.Wowclass == 11) {
                            Console.WriteLine("Initiate Feral Druid DPS BOT v0.1");
                            aTimer.Elapsed += DruidDPS.DpsEvent;
                        }
                        break;
                }
            }
        }
Ejemplo n.º 6
0
        public static void PrintGameObjectData(GameObject go) {
            Console.WriteLine("//////".PadRight(paddistance / 2) + "OBJECT Printing START" + "//////".PadLeft(paddistance / 2));
            try {
                Console.WriteLine("BaseAddress: ".PadRight(paddistance) + String.Format("0x{0:X}", go.BaseAddress));
                Console.WriteLine("StorageAddress: ".PadRight(paddistance) + String.Format("0x{0:X}", go.DescriptorArrayAddress));
                Console.WriteLine("BuffAddress: ".PadRight(paddistance) + String.Format("0x{0:X}", go.BuffArrayAddress));
                Console.WriteLine("BuffOffsetAddress: ".PadRight(paddistance) + String.Format("0x{0:X}", go.BuffOffsetArrayAddress));
                Console.WriteLine("GUID: ".PadRight(paddistance) + String.Format("0x{0:X}", go.Guid));


            }
            catch {
                Console.WriteLine("//////".PadRight(paddistance / 2) + "OBJECT Printing ERROR" + "//////".PadLeft(paddistance / 2));
            }
            Console.WriteLine("//////".PadRight(paddistance / 2) + "OBJECT Printing END" + "//////".PadLeft(paddistance / 2));
        }
Ejemplo n.º 7
0
 public GameObject(UInt64 gid) { //Constructor from GUID
     this.Guid = gid;
     if (gid == 0) {     //If GUID zero, return blank Object
         this.BaseAddress = 0;
         this.DescriptorArrayAddress = 0;
         this.BuffArrayAddress = 0;
         this.BuffOffsetArrayAddress = 0;
         this.MovementArrayAddress = 0;
         this.BuffIDs = new List<uint>();
         return;
     }
     else {  //Iterate through the objects (linked list) from first object till the GUID matches
         GameObject TempObject = new GameObject();
         TempObject.BaseAddress = Program.FirstObject.BaseAddress;
         try {
             while (TempObject.BaseAddress != 0) {
                 TempObject.Guid = Program.wow.ReadUInt64(TempObject.BaseAddress + (uint)Constants.Const.ObjectManager.LocalGUID);
                 if (TempObject.Guid == this.guid) {
                     this.BaseAddress = TempObject.BaseAddress;
                     this.DescriptorArrayAddress = Program.wow.ReadUInt(this.BaseAddress + 0xC) + 0x10;
                     this.BuffArrayAddress = Program.wow.ReadUInt(this.baseAddress + 0xe9c) + 0x4;
                     this.BuffOffsetArrayAddress = this.BaseAddress + 0xe98;
                     this.MovementArrayAddress = Program.wow.ReadUInt(this.BaseAddress + (uint)Const.Movement.Pointer)+(uint)Const.Movement.Offset;
                     this.BuffIDs = new List<uint>();
                     return;
                 }
                 else {
                     TempObject.BaseAddress = Program.wow.ReadUInt(TempObject.BaseAddress + (uint)Constants.Const.ObjectManager.NextObject);
                 }
             }
         }
         catch {
             this.BaseAddress = 0;
             this.DescriptorArrayAddress = 0;
             this.buffArrayAddress = 0;
             this.BuffIDs = new List<uint>();
             return;
         }
     }
 }
Ejemplo n.º 8
0
        //private static void DpsEvent(Object source, System.Timers.ElapsedEventArgs e) {
        //    UInt64 CurrTargetGUID = Program.wow.ReadUInt64((uint)wow.MainModule.BaseAddress + (uint)Constants.Const.Globals.CurrentTargetGUID);
        //    PlayerObject.Refresh();
        //    if(PlayerObject.Healthpercent>=80 && PlayerObject.Manapercent <= 50) {
        //        WarlockDPS.LifeTap.SendCast();
        //    }
        //    if (CurrTargetGUID != 0) {
        //        TargetObject = new GameObject(CurrTargetGUID);
        //        TargetObject.RefreshBuffIDs();
        //        if (!WarlockDPS.Corruption.ReCast(TargetObject) && !WarlockDPS.BaneofAgony.ReCast(TargetObject) && !WarlockDPS.ShadowTrance.IfCast(PlayerObject)) {
        //            if (!PlayerObject.IsMoving) {
        //                if (!WarlockDPS.UnstableAffliction.ReCast(TargetObject) && !WarlockDPS.Haunt.ReCast(TargetObject)) {
        //                    WarlockDPS.DrainLife.ReCast(TargetObject);
        //                }
        //            }
        //            else {
        //                if (!WarlockDPS.CurseoftheElements.ReCast(TargetObject)) {
        //                    WarlockDPS.FellFlame.SendCast();
        //                }
        //            }

        //        }
        //        }



        //}
        private static void PrinterEvent(Object source, System.Timers.ElapsedEventArgs e) {
            UInt64 CurrTargetGUID = Program.wow.ReadUInt64((uint)wow.MainModule.BaseAddress + (uint)Constants.Const.Globals.CurrentTargetGUID);
            if (CurrTargetGUID != 0) {
                TargetObject = new GameObject(CurrTargetGUID);
                TargetObject.RefreshBuffIDs();
                Extractor.PrintBuffs(TargetObject);
                if (TargetObject.IsMoving) {
                    Console.WriteLine("MOVING");
                }
            }
            else {
                Console.WriteLine("No target");
            }
        }
Ejemplo n.º 9
0
 public static void PrintPointersStorage(GameObject go) {
     uint temp = 0;
     Console.WriteLine("Storage");
     for (int i = 0; i < 10000; i++) {
         temp = Program.wow.ReadUInt(go.DescriptorArrayAddress + (uint)(i));
         if (temp > 0x1c000000 && temp < 0x1d000000) {
             Console.WriteLine(String.Format("0x{0:X}", i) + "    " + String.Format("0x{0:X}", temp));
         }
     }
 }
Ejemplo n.º 10
0
 public static void TopKek2(GameObject go1, GameObject go2) {
     uint temp1, temp2;
     for (int i = 0; i < 10000; i++) {
         temp1 = Program.wow.ReadUInt(go1.DescriptorArrayAddress + (uint)(i));
         temp2 = Program.wow.ReadUInt(go2.DescriptorArrayAddress + (uint)(i));
         if (go1.BuffArrayAddress - temp1 == go2.BuffArrayAddress - temp2) {
             Console.WriteLine(String.Format("Pointer: 0x{0:X}", i).PadRight(30) + String.Format("Offset: 0x{0:X}", go1.BuffArrayAddress - temp1));
         }
     }
 }
Ejemplo n.º 11
0
        public static void PrintPointers(GameObject go) {
            Console.Clear();
            Console.WriteLine("0x{0:X}",go.BaseAddress);
            uint goal = 0x27050128;

            uint temp = 0;
            for (int i = 0; i < 10000; i++) {
                temp = Program.wow.ReadUInt(go.BaseAddress + (uint)(i));
                if (temp > goal - 0x1000 && temp < goal) {
                    Console.WriteLine(String.Format("0x{0:X}", i) + "    " + String.Format("0x{0:X}", temp));
                }
            
                //if (temp != 0) {
                //    Console.WriteLine(String.Format("0x{0:X}", i) + "    " + String.Format("0x{0:X}", temp));
                //}
            }
        }
Ejemplo n.º 12
0
        public static void PrintBuffs(GameObject go) {
            Console.WriteLine("TOP KEK");
            foreach (uint s in go.BuffIDs) {
                Console.WriteLine(s + "  " + s);
            }

        }