Beispiel #1
0
        private void cbActions_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbActions.SelectedIndex < 0)
            {
                return;
            }

            DisassembleItem item = (DisassembleItem)cbActions.Items[cbActions.SelectedIndex];

            int count = Inventory.GetItemCountById(item.ItemId);

            if (item.Profession == DisassembleProfession.JEWELCRAFTING || item.Profession == DisassembleProfession.INSCRIPTION)
            {
                count /= 5;                 // Requires atleast 5 to disassemble
            }
            txtItems.Text = count.ToString();
        }
Beispiel #2
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if(isRunning) {
                isRunning = false;
                if( thread != null )
                    thread.Join();
                return;
            }

            if(cbActions.SelectedIndex < 0)
                return;

            if(ShadowBot.API.Bot.GetSettings.MouseHook_Enabled) {
                Mouse.Initialize();
            }

            Spells.CloseMountFrame();
            Spells.CloseSpellBookFrame();

            DisassembleItem item = (DisassembleItem)cbActions.Items[cbActions.SelectedIndex];

            int count = Inventory.GetItemCountById(item.ItemId);
            if(item.Profession == DisassembleProfession.JEWELCRAFTING || item.Profession == DisassembleProfession.INSCRIPTION) {
                count /= 5; // Requires atleast 5 to disassemble
            }

            int disassembleCount = 0;
            try {
                disassembleCount = int.Parse(txtItems.Text);
            } catch(Exception) {
                MessageBox.Show("Items to disassemble must be an integer number");
                return;
            }

            int spellId = 0;
            switch(item.Profession) {
                case DisassembleProfession.JEWELCRAFTING:
                    spellId = 31252;
                    break;
                case DisassembleProfession.INSCRIPTION:
                    spellId = 51005;
                    break;
                case DisassembleProfession.ENCHANTING:
                    spellId = 13262;
                    break;
            }

            disassembleSpell = Spells.GetWoWSpellById(spellId);

            if(!disassembleSpell.OnActionBar) {
                bool success = Spells.PlaceGatheringSpellOnBarById(spellId);

                if(!success) {
                    Log("Failed to place spell on bar");
                    return;
                } else {
                    Log("Placed on bar: " + success.ToString());
                }
            }

            itemsLeft = disassembleCount;

            disassembleItem = item;

            btnStart.Text = "Stop";
            isRunning = true;
            if(item.Profession == DisassembleProfession.JEWELCRAFTING || item.Profession == DisassembleProfession.INSCRIPTION) {
                thread = new Thread(new ThreadStart(ThreadSort));
                thread.Start();
            } else {
                thread = new Thread(new ThreadStart(ThreadDisassemble));
                thread.Start();
            }
        }
Beispiel #3
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (isRunning)
            {
                isRunning = false;
                if (thread != null)
                {
                    thread.Join();
                }
                return;
            }

            if (cbActions.SelectedIndex < 0)
            {
                return;
            }

            if (ShadowBot.API.Bot.GetSettings.MouseHook_Enabled)
            {
                Mouse.Initialize();
            }

            Spells.CloseMountFrame();
            Spells.CloseSpellBookFrame();

            DisassembleItem item = (DisassembleItem)cbActions.Items[cbActions.SelectedIndex];

            int count = Inventory.GetItemCountById(item.ItemId);

            if (item.Profession == DisassembleProfession.JEWELCRAFTING || item.Profession == DisassembleProfession.INSCRIPTION)
            {
                count /= 5;                 // Requires atleast 5 to disassemble
            }

            int disassembleCount = 0;

            try {
                disassembleCount = int.Parse(txtItems.Text);
            } catch (Exception) {
                MessageBox.Show("Items to disassemble must be an integer number");
                return;
            }


            int spellId = 0;

            switch (item.Profession)
            {
            case DisassembleProfession.JEWELCRAFTING:
                spellId = 31252;
                break;

            case DisassembleProfession.INSCRIPTION:
                spellId = 51005;
                break;

            case DisassembleProfession.ENCHANTING:
                spellId = 13262;
                break;
            }

            disassembleSpell = Spells.GetWoWSpellById(spellId);

            if (!disassembleSpell.OnActionBar)
            {
                bool success = Spells.PlaceGatheringSpellOnBarById(spellId);

                if (!success)
                {
                    Log("Failed to place spell on bar");
                    return;
                }
                else
                {
                    Log("Placed on bar: " + success.ToString());
                }
            }

            itemsLeft = disassembleCount;

            disassembleItem = item;


            btnStart.Text = "Stop";
            isRunning     = true;
            if (item.Profession == DisassembleProfession.JEWELCRAFTING || item.Profession == DisassembleProfession.INSCRIPTION)
            {
                thread = new Thread(new ThreadStart(ThreadSort));
                thread.Start();
            }
            else
            {
                thread = new Thread(new ThreadStart(ThreadDisassemble));
                thread.Start();
            }
        }