Esempio n. 1
0
 private static void Dismount()
 {
     if (World.Player.GetItemOnLayer(Layer.Mount) != null)
     {
         ActionQueue.DoubleClick(true, World.Player.Serial);
     }
     else
     {
         World.Player.SendMessage("You are not mounted.");
     }
 }
Esempio n. 2
0
        private static void Loot(Item bag)
        {
            if (bag == null)
            {
                return;
            }
            Item backpack;

            if (bag != World.Player.Backpack)
            {
                backpack = World.FindItem(LootBag.Bag);
                Clean(backpack, bag.FindItems(i => Looting.Items.Any(l => i.ItemID == l.Graphic && (i.Hue == l.Color || l.Color == 0xFFFF))));
                Clean(backpack, bag.FindItems(0x0E34));                  //kousky map
                Clean(backpack, bag.FindItems(0x26B8));                  //dusty
                Clean(backpack, bag.FindItems(0x0E76));                  //bagly
                Clean(backpack, bag.FindItems(0x14F0));                  //pska
                Clean(backpack, bag.FindItems(0x0FAB));                  //barvy
                Clean(backpack, bag.FindItems(0x0DCA, 0x0481));          //bila sit
                Clean(backpack, bag.FindItems(0x226E, 0x0065));          //kousky sos
                Clean(backpack, bag.FindItems(0x0F8B, 0x043D));          //moony
                Clean(backpack, bag.FindItems(0x3155, 0x048D));          //slzy
                Clean(backpack, bag.FindItems(0x1BC4, 0x0482));          //holy shield
                Clean(backpack, bag.FindItems(0x0F61, 0x0482));          //holy sword
                Clean(backpack, bag.FindItems(0x0F87, 0x0000));          //eye of newt
                Clean(backpack, bag.FindItems(0x1422, 0x0481));          //token
                Clean(backpack, bag.FindItems(0x1006, 0x0973));          //durab picovina
                Clean(backpack, bag.FindItems(0x1869, 0x04AE));          //sb
                Clean(backpack, bag.FindItems(0x0F0E, 0x099F));          //redidlo
                Clean(backpack, bag.FindItems(0x0EF0, 0x09F0));          //cechy
                Clean(backpack, bag.FindItems(0x097C, 0x09E2));          //fragmenty
                Clean(backpack, bag.FindItems(0x26B4, 0x0A11));          //charmy
                Clean(backpack, bag.FindItems(0x09EC, 0x0265));          //lestidlo 1
                Clean(backpack, bag.FindItems(0x09EC, 0x0247));          //lestidlo 2
                Clean(backpack, bag.FindItems(0x1877, i => i.Hue != 0)); //draty
                Clean(backpack, bag.FindItems(0x1F3D, i => i.Hue != 0)); //svitky
                Clean(backpack, bag.FindItems(IsLevel));
                Clean(backpack, bag.FindItems(i => IsShitRunic(i) == null));

                if (ConfigEx.GetElement(false, "LootBigDiamonds"))
                {
                    Clean(backpack, bag.FindItems(IsBigDiamonds));
                }

                foreach (Item item in bag.FindItems(IsSOSCrap))
                {
                    WorldEx.SendToClient(new RemoveObject(item.Serial));
                }
            }

            backpack = World.Player.Backpack;
            Clean(backpack.FindItem(0x0E3B, 0x0489), bag.FindItems(i => Array.IndexOf(regs, i.ItemID) != -1));             //reagents
            Clean(backpack.FindItem(0x0E3B, 0x0489), bag.FindItems(0x0E76, i => i.Contains.Count == 0 && !i.IsBlessed())); //empty bags
            Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0F0E, 0x0000));                                       //empty bottles
            Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0C64, 0x0490));                                       //zoogi vejce
            Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x2808, 0));                                            //smoke bomb
            Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0F0B, 0x0367));                                       //pet res
            Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0F0B, 0x0774));                                       //repair
            Clean(backpack.FindItem(0x2252, 0x08AC), bag.FindItems(0x0EF0, 0x0000));                                       //silver
            Item quiver = World.Player.GetItemOnLayer(Layer.MiddleTorso);

            if (quiver == null || (!quiver.IsQuiver() && !IsQuiverSash(quiver)))
            {
                quiver = backpack.FindItem(i => i.IsQuiver() || IsQuiverSash(i));
            }
            Clean(quiver, bag.FindItems(i => i.ItemID == 0x0F3F || i.ItemID == 0x1BFB)); //ammo

            Item gpBag = World.FindItem(ConfigEx.GetElement <uint>(0, "GPBag"));

            Clean(gpBag, bag.FindItems(0x0EED, 0x0000, i => i.Container != gpBag)); //gp

            Item whiteBall = backpack.FindItem(0x0E73, 0x0702, recurse: false);

            if (whiteBall != null)
            {
                Clean(backpack, bag.FindItems(0x0E73, 0x0702, i => i != whiteBall));
            }
            else
            {
                Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0E73, 0x0702));
            }

            Item brownBall = backpack.FindItem(0x0E73, 0x0629, recurse: false);

            if (brownBall != null)
            {
                Clean(backpack, bag.FindItems(0x0E73, 0x0629, i => i != brownBall));
            }
            else
            {
                Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x0E73, 0x0629));
            }

            Item medovina = backpack.FindItem(0x09EC, 0x002C, recurse: false);

            if (medovina != null)
            {
                Clean(backpack, bag.FindItems(0x09EC, 0x002C, i => i != medovina));
            }
            else
            {
                Clean(backpack.FindItem(0x0E79, 0x001A), bag.FindItems(0x09EC, 0x002C));
            }

            Clean(backpack.FindItem(0x0E79, 0x0488), bag.FindItems(i => Array.IndexOf(petPlant, i.ItemID) != -1));                                        //petplant
            Clean(backpack.FindItem(0x24D7, 0x0556), bag.FindItems(i => (IsFish(i.ItemID) && !IsBigFish(i)) || (i.ItemID == 0x0DCA && i.Hue == 0x08A0))); //fishbag + site
            Clean(backpack.FindItem(0x09B0, 0x048E), bag.FindItems(IsShitResource));                                                                      //food+resources

            Clean(backpack.FindItem(0x2252, 0x0492), bag.FindItems(0x14EC, 0));                                                                           //mapky
            if (!ConfigEx.GetElement(false, "CleanerSOS"))
            {
                Clean(backpack.FindItem(0x22C5, IsSOSBook), bag.FindItems(0x14ED, recurse: false)); //sosky vsechny
            }
            else
            {
                Clean(backpack.FindItem(0x09B0, 0x048E), bag.FindItems(0x14ED, 0, recurse: false));                  //trash obyc
                Clean(backpack.FindItem(0x22C5, IsSOSBook), bag.FindItems(0x14ED, i => i.Hue != 0, recurse: false)); //uklid ostatni
            }

            foreach (Item item in bag.FindItems(0x099F))//flasky se soskama
            {
                ActionQueue.DoubleClick(true, item.Serial);
            }

            foreach (Item item in backpack.FindItems(0x0ECF, 0)) //kosti
            {
                Clean(backpack.FindItem(0x09B0, 0x048E), item.FindItems(0x1EFD, 0x04D1));
                Clean(backpack.FindItem(0x09B0, 0x048E), item.FindItems(0x170D, 0x0000));
                Clean(backpack.FindItem(0x09B0, 0x048E), item.FindItems(0x1539, 0x045E));
                Clean(backpack.FindItem(0x09B0, 0x048E), item.FindItems(0x171B, 0x0006));
                Clean(backpack.FindItem(0x09B0, 0x048E), item.FindItems(IsSextant));
            }
        }