Example #1
0
        protected static void SetRemoveSlotItem(string key, SlotItem item)
        {
            Graphic g = 0;
            UOColor c = 0;
            Serial  s = 0;

            lock (SyncRoot)
            {
                if (item == null)
                {
                    if (Slots.ContainsKey(key))
                    {
                        SlotKeyList.Remove(key);
                        Slots.Remove(key);
                    }

                    Config.Profile.UserSettings.SetAttribute(g.ToString(), "Graphic", "SlotForm_Slots_" + key);
                    Config.Profile.UserSettings.SetAttribute(c.ToString(), "UOColor", "SlotForm_Slots_" + key);
                    Config.Profile.UserSettings.SetAttribute(s.ToString(), "Serial", "SlotForm_Slots_" + key);
                }
                else
                {
                    if (Slots.ContainsKey(key))
                    {
                        Slots[key] = item;
                    }
                    else
                    {
                        SlotKeyList.Add(key);
                        Slots.Add(key, item);
                    }
                }
            }
        }
Example #2
0
        //---------------------------------------------------------------------------------------------

        public static void PrintHitsMessage(this UOCharacter character, string message, params object[] args)
        {
            string test         = message + String.Empty;
            bool   needBranches = test.Contains("[");
            bool   needSpaces   = test.Contains("..") || test.Contains(".") || test.Contains("[ ");

            test = test.Replace("[", "").Replace("]", "").Replace("....", "").Replace("...", "").Replace("..", "").Replace(".", "").Trim(new char[] { ' ' });
            //.ToLower();
            //if (needBranches)
            //  test = test.ToLower();

            if (!String.IsNullOrEmpty(test) && needBranches)
            {
                test = "[" + (needSpaces ? " " : "") + test + (needSpaces ? " " : "") + "]";
            }

            UOColor color = Game.Val_GreenBlue;

            if (character.Notoriety == Notoriety.Murderer || character.Notoriety == Notoriety.Enemy)
            {
                color = Game.GetEnemyColorByHits(character);
            }
            else
            {
                color = Game.GetAlieColorByHits(character);
            }

            //character.Print("");//reset 1
            //character.Print("");//reset 2
            character.Print(color, test, args);
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:SupplyCounter"/> class.
        /// </summary>
        public SupplyCounter(UOObject container, Graphic type, UOColor color)
        {
            if (!container.Serial.IsValid)
            {
                throw new ArgumentException("container");
            }
            if (type.IsInvariant || type == 0)
            {
                throw new ArgumentOutOfRangeException("type");
            }

            this.container = container;
            this.type      = type;
            this.color     = color;

            if (container is UOItem)
            {
                collection = ((UOItem)container).AllItems;
            }
            else if (container is UOCharacter)
            {
                collection = ((UOCharacter)container).Layers;
            }
            else
            {
                throw new ArgumentException("Invalid container type.");
            }

            container.Changed += new ObjectChangedEventHandler(container_Changed);

            // Init count
            Recalc();
        }
        public SpeechMacroCommand(UOColor color, string text)
        {
            this.color = color;
            this.text = text;

            useColor = true;
        }
Example #5
0
        public ItemCount(ISupplyCounter counter, Graphic graphic, UOColor color, bool stock, Point offset)
        {
            if (counter == null)
            {
                throw new ArgumentNullException("counter");
            }
            if (graphic == 0)
            {
                throw new ArgumentOutOfRangeException("type");
            }

            this.counter = counter;
            this.graphic = graphic;
            this.color   = color;

            InitializeComponent();

            image.Stocked   = stock;
            image.DataIndex = graphic;
            if (color > 0 && color.IsConstant)
            {
                image.UseHue   = true;
                image.HueIndex = color;
            }

            Point loc = image.Location;

            loc.Offset(offset);
            image.Location = loc;
        }
Example #6
0
        public static UOItem FindType(this UOPlayer player, Graphic graphic, UOColor color, Serial serial)
        {
            UOItem searchItem = new UOItem(Serial.Invalid);

            if (serial.IsValid)
            {
                List <UOItem> search = new List <UOItem>();
                search.AddRange(player.Backpack.AllItems.ToArray());
                search.AddRange(player.Layers.ToArray());

                foreach (UOItem itm in search)
                {
                    if (itm.Serial.IsValid && itm.Exist && itm.Serial == serial)
                    {
                        searchItem = itm;
                        break;
                    }
                }
            }

            if (!searchItem.Serial.IsValidCust() || !searchItem.Exist)
            {
                searchItem = color.IsConstant ? player.Backpack.Items.FindType(graphic, color) : player.Backpack.Items.FindType(graphic);

                if (!searchItem.Serial.IsValidCust() || !searchItem.Exist)
                {
                    searchItem = color.IsConstant ? player.Backpack.AllItems.FindType(graphic, color) : player.Backpack.AllItems.FindType(graphic);
                    if (!searchItem.Serial.IsValidCust() || !searchItem.Exist)
                    {
                        searchItem = color.IsConstant ? player.Layers.FindType(graphic, color) : player.Layers.FindType(graphic);
                    }
                }
            }
            return(searchItem);
        }
Example #7
0
      public static void MassMove(Graphic graphic, UOColor color, Serial sourceContainer, Serial destination)
      {
          UOItem source = World.GetItem(sourceContainer);

          if (!source.Exist)
          {
              ScriptErrorException.Throw("Invalid source container.");
              return;
          }

          if (!destination.IsValid)
          {
              ScriptErrorException.Throw("Invalid destination.");
              return;
          }

          UO.PrintInformation("Moving items of type {0} {1} from {2} to {3}", graphic, color, sourceContainer, destination);

          foreach (UOItem item in source.Items)
          {
              if (item.Graphic == graphic && item.Color == color)
              {
                  using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(item)) {
                      item.Move(0, destination);
                      ew.Wait(2000);
                      UO.Wait(200);
                  }
              }
          }

          UO.PrintInformation("MassMove finished.");
      }
Example #8
0
 public Reagent(Graphic gra, UOColor col, string name, string shortName)
 {
     this.graphic   = gra;
     this.color     = col;
     this.name      = name;
     this.shortName = shortName;
 }
Example #9
0
        //---------------------------------------------------------------------------------------------

        public static void PrintMessage(this UOObject obj, string message, UOColor color, bool supperssPrevMessages, params object[] args)
        {
            string test         = message + String.Empty;
            bool   needBranches = test.Contains("[");
            bool   needSpaces   = test.Contains("..") || test.Contains("..") || test.Contains("[ ");

            test = test.Replace("[", "").Replace("]", "").Replace("....", "").Replace("...", "").Replace("..", "").Trim(new char[] { ' ' });
            //.ToLower();
            //if (needBranches)
            //  test = test.ToLower();

            if (!String.IsNullOrEmpty(test) && needBranches)
            {
                test = "[" + (needSpaces ? " " : "") + test + (needSpaces ? " " : "") + "]";
            }

            if (obj.Serial.IsValidCust())
            {
                if (supperssPrevMessages)
                {
                    UO.PrintObject(obj.Serial, color, "", args); //reset 1
                    UO.PrintObject(obj.Serial, color, "", args); //reset 2
                }
                UO.PrintObject(obj.Serial, color, test, args);
            }
            else
            {
                UO.Print(color, test, args);
            }
        }
Example #10
0
        public SpeechMacroCommand(UOColor color, string text)
        {
            this.color = color;
            this.text  = text;

            useColor = true;
        }
Example #11
0
        //---------------------------------------------------------------------------------------------

        public static void TrainTinkering(UOColor color, Graphic product, params string[] menus)
        {
            UO.Print("Vyber container z ingoty:");
            UOItem containerFrom = new UOItem(UIManager.TargetObject());

            if (containerFrom.Exist)
            {
                UO.Print("containerFrom.Exist:");
                UOItem ingotSource = new UOItem(Serial.Invalid);

                UOItem ingot = new UOItem(Serial.Invalid);
                if (!(ingot = Mining2.FindIngot(UO.Backpack.Items, (int)Mining2.OreColor.Iron)).Exist || ingot.Amount < 20)
                {
                    ingot = Mining2.FindIngot(containerFrom.Items, (int)Mining2.OreColor.Iron);
                    ingot.Move(20, UO.Backpack.Serial);
                    Game.Wait();
                }

                UO.Print("while.Exist:" + color);

                while ((ingotSource = Mining2.FindIngot(containerFrom.Items, color)).Exist)
                {
                    UO.Print("while.Exist:");
                    ingotSource.Move(100, UO.Backpack.Serial);
                    Game.Wait();

                    while ((ingot = Mining2.FindIngot(UO.Backpack.Items, color)).Exist)
                    {
                        UO.Print("while2.Exist:");
                        JournalEventWaiter jew = new JournalEventWaiter(true, "You put the", "Tinkering failed");
                        UO.WaitMenu(menus);
                        UOItem tools = UO.Backpack.Items.FindType(TinkersTools);
                        if (tools.Exist)
                        {
                            tools.Use();
                            jew.Wait(7500);
                            if (Journal.Contains(true, "You can't make anything with what you have"))
                            {
                                Journal.Clear();
                                break;
                            }
                        }
                        else
                        {
                            UO.Print("Nejsou toolsy.");
                            break;
                        }
                    }

                    UOItem hinge = UO.Backpack.Items.FindType(product);
                    if (hinge.Exist)
                    {
                        hinge.Move(1000, containerFrom.Serial);
                        Game.Wait();
                    }
                }
            }
            UO.Print("Konec");
        }
Example #12
0
        //---------------------------------------------------------------------------------------------

        public static bool IsLog(UOItem ingot, UOColor color)
        {
            if (ingot.Graphic == LogGraphic && ingot.Color == color)
            {
                return(true);
            }
            return(false);
        }
Example #13
0
 public static bool ListContains(Graphic graphic, UOColor color, List <IUOItemType> items)
 {
     foreach (IUOItemType itemType in items)
     {
         if (graphic == itemType.Graphic && color == itemType.Color)
         {
             return(true);
         }
     }
     return(false);
 }
Example #14
0
        public void Add(Graphic type, Graphic graphic, UOColor color, bool stock, Point offset, bool flowBreak)
        {
            var sc = new SupplyCounter(World.Player.Backpack, type, color);

            var c = new ItemCount(sc, graphic, color, stock, offset);

            c.Size = ItemSize;

            container.Controls.Add(c);
            container.SetFlowBreak(c, flowBreak);
        }
Example #15
0
        //---------------------------------------------------------------------------------------------

        public static UOItem FindLog(ItemsCollection items, UOColor color)
        {
            foreach (UOItem item in items)
            {
                if (IsLog(item, color))
                {
                    return(item);
                }
            }
            return(new UOItem(Serial.Invalid));
        }
Example #16
0
        //---------------------------------------------------------------------------------------------

        public bool Contains(Graphic graphic, UOColor color)
        {
            foreach (UOItemType item in this)
            {
                if (item.Graphic == graphic && item.Color == color)
                {
                    return(true);
                }
            }
            return(false);
        }
Example #17
0
        //---------------------------------------------------------------------------------------------

        public static NecromancySpell GetNecromancySpellFromScroll(Graphic graphic, UOColor color)
        {
            foreach (KeyValuePair <NecromancySpell, IUOItemType> kvp in SpellScrool)
            {
                if (kvp.Value.Graphic == graphic && kvp.Value.Color == color && kvp.Key != NecromancySpell.Invalid)
                {
                    return(kvp.Key);
                }
            }
            return(NecromancySpell.Invalid);
        }
Example #18
0
        //---------------------------------------------------------------------------------------------

        public UOItemType FindItem(Graphic graphic, UOColor color)
        {
            UOItemTypeCollection items = FindItems(graphic, color);

            if (items.Count > 0)
            {
                return(items[0]);
            }

            return(null);
        }
Example #19
0
        public bool UseReflexRing()
        {
            List <string> types = new List <string>();

            if (World.Player.Backpack.AllItems.FindType(GRR.Graphic, GRR.Color).Exist)
            {
                types.Add("GRR");
            }
            if (World.Player.Backpack.AllItems.FindType(GRR2.Graphic, GRR2.Color).Exist)
            {
                types.Add("GRR2");
            }
            if (World.Player.Backpack.AllItems.FindType(RR.Graphic, RR.Color).Exist)
            {
                types.Add("RR");
            }

            string  useType = "GRR";
            UOColor c       = GRR.Color;

            int index = 0;

            for (int i = 0; i < types.Count; i++)
            {
                if (lastRRInfo != null && lastRRInfo.Title == types[i] && i < types.Count - 1)
                {
                    index = i + 1;
                    break;
                }
            }

            if (types.Count > index)
            {
                useType = types[index];
            }

            if (useType == "GRR")
            {
                c = GRR.Color;
            }
            else if (useType == "GRR2")
            {
                c = GRR2.Color;
            }
            else
            {
                c = RR.Color;
            }

            lastRRInfo = UseJewlery(useType, 0x108A, c, "Ring");

            return(lastRRInfo.Success);
        }
Example #20
0
        protected ObjectCommandBase(Serial serial)
        {
            this.serial = serial;

            RealItem item = World.GetRealItem(serial);
            if (item.Serial != World.InvalidSerial) {
                graphic = item.Graphic;
                color = item.Color;
            }

            CommandTarget = "Object";
        }
Example #21
0
        //---------------------------------------------------------------------------------------------

        public bool Contains(Graphic graphic, UOColor color)
        {
            foreach (Reagent r in this)
            {
                if (r.Graphic == graphic && r.Color == color)
                {
                    return(true);
                }
            }

            return(false);
        }
Example #22
0
        public UOItem FindType(Graphic graphic, UOColor color)
        {
            foreach (UOItem item in this)
            {
                if (item.Graphic == graphic && item.Color == color && Array.IndexOf <Layer>(allowedLayers, item.Layer) >= 0)
                {
                    return(item);
                }
            }

            return(new UOItem(Serial.Invalid));
        }
Example #23
0
        public static void MakeDust(ushort amount, UOColor ingotColor)
        {
            if (!AdaHammer.Exist)
            {
                World.Player.PrintMessage("Nemas kladivo", MessageType.Error);
                return;
            }

            if (!World.Player.FindType(0x1BEF, ingotColor).Exist)
            {
                World.Player.PrintMessage("Nemas Ingoty", MessageType.Error);
                return;
            }

            if (!World.Player.FindType(0x1BEF, ingotColor).Move(amount, World.Player.X, World.Player.Y, World.Player.Z))
            {
                World.Player.PrintMessage("Nepovedl se drop", MessageType.Error);
                return;
            }

            Game.Wait(250);

            UOItem ingot = World.Ground.OrderBy(i => i.Distance).FirstOrDefault(i => i.Graphic == 0x1BEF && i.Color == ingotColor);//.FindType(0x1BEF, ingotColor);

            if (ingot != null && ingot.Distance > 1)
            {
                World.Player.PrintMessage("Ingot moc daleko " + ingot.Distance, MessageType.Error);
                ingot.PrintMessage("Tento!", MessageType.Error);
                return;
            }

            Journal.Clear();

            UO.WaitTargetObject(ingot);
            AdaHammer.Use();

            Journal.WaitForText(true, 500, "Rozbils ingot na kouzelne shardy!");



            Game.Wait(250);

            if (Journal.Contains(true, "at your feet. It is too heavy.."))
            {
                World.Player.PrintMessage("[ too heavy.. ]", MessageType.Warning);
            }

            UOItemExtInfo info = ItemHelper.GetItemExtInfo(AdaHammer);

            Game.PrintMessage("Nabiti kladiva " + info.PlusValue);
        }
Example #24
0
        protected ObjectCommandBase(Serial serial)
        {
            this.serial = serial;

            RealItem item = World.GetRealItem(serial);

            if (item.Serial != World.InvalidSerial)
            {
                graphic = item.Graphic;
                color   = item.Color;
            }

            CommandTarget = "Object";
        }
Example #25
0
        //---------------------------------------------------------------------------------------------

        public UOItemTypeCollection FindItems(Graphic graphic, UOColor color)
        {
            UOItemTypeCollection items = new UOItemTypeCollection();

            foreach (UOItemType item in this)
            {
                if (item.Graphic == graphic && item.Color == color)
                {
                    items.Add(item);
                }
            }

            return(items);
        }
Example #26
0
        //---------------------------------------------------------------------------------------------

        public static UOColor GetGlobalConfigValueOrDefault(string xpath, string attrName, UOColor defaultValue)
        {
            string val = GetGlobalConfigValue(xpath, attrName);

            if (val != null)
            {
                try
                {
                    UOColor c = UOColor.Parse(val);
                    return(c);
                }
                catch {  }
            }
            return(defaultValue);
        }
Example #27
0
        public void AddItem(string name, Graphic type, UOColor color)
        {
            var sc   = new SupplyCounter(UO.Backpack, type, color);
            var item = new ItemInfo {
                Name = name, Amount = sc.CurrentAmount
            };

            data.Add(item);

            sc.AmountChanged += delegate(object sender, EventArgs e)
            {
                item.Amount = sc.CurrentAmount;
                UpdateText();
            };
        }
Example #28
0
        //---------------------------------------------------------------------------------------------

        public static UOItem FindType(this UOPlayer player, Graphic graphic, UOColor color)
        {
            UOItem searchItem = new UOItem(Serial.Invalid);

            searchItem = color.IsConstant ? player.Backpack.Items.FindType(graphic, color) : player.Backpack.Items.FindType(graphic);

            if (!searchItem.Serial.IsValidCust() || !searchItem.Exist)
            {
                searchItem = color.IsConstant ? player.Backpack.AllItems.FindType(graphic, color) : player.Backpack.AllItems.FindType(graphic);
                if (!searchItem.Serial.IsValidCust() || !searchItem.Exist)
                {
                    searchItem = color.IsConstant ? player.Layers.FindType(graphic, color) : player.Layers.FindType(graphic);
                }
            }
            return(searchItem);
        }
Example #29
0
        //---------------------------------------------------------------------------------------------

        public static void PrintMessage(this UOObject obj, string message, UOColor color, bool supperssPrevMessages, params object[] args)
        {
            if (obj.Serial.IsValidCust())
            {
                if (supperssPrevMessages)
                {
                    UO.PrintObject(obj.Serial, color, "", args); //reset 1
                    UO.PrintObject(obj.Serial, color, "", args); //reset 2
                }
                UO.PrintObject(obj.Serial, color, message, args);
            }
            else
            {
                UO.Print(color, message, args);
            }
        }
Example #30
0
        //---------------------------------------------------------------------------------------------

        public static UOItem FindReagentAll(Serial container, Graphic graphic, UOColor color, int?amount)
        {
            UOItem cont = new UOItem(container);

            if (cont.Exist)
            {
                foreach (UOItem item in cont.AllItems)
                {
                    if (item.Graphic == graphic && item.Color == color && (!amount.HasValue || (item.Amount == amount.Value || item.Amount > amount.Value)))
                    {
                        return(item);
                    }
                }
                //return cont.AllItems.FindType(graphic, color);
            }
            return(new UOItem(Serial.Invalid));
        }
Example #31
0
        //---------------------------------------------------------------------------------------------

        public static UOItem FindType(this ItemsCollection items, UOColor color)
        {
            foreach (UOItem item in items)
            {
                if (item.Color == color)
                {
                    return(item);
                }
            }

            return(new UOItem(Serial.Invalid));

            //if (typeOnly)//!itemType.Color.IsConstant)//Spis ==0x000 0 nebo 0xFFFF
            //  return items.FindType(itemType.Graphic);
            //else
            //  return items.FindType(itemType.Graphic, itemType.Color);
        }
Example #32
0
        //---------------------------------------------------------------------------------------------

        public static void PrintHitsMessage(this UOCharacter character, string message, params object[] args)
        {
            UOColor color = Game.Val_GreenBlue;

            if (character.Notoriety == Notoriety.Murderer || character.Notoriety == Notoriety.Enemy)
            {
                color = Game.GetEnemyColorByHits(character);
            }
            else
            {
                color = Game.GetAlieColorByHits(character);
            }

            //character.Print("");//reset 1
            //character.Print("");//reset 2
            character.Print(color, message, args);
        }
Example #33
0
        public static void UseType(Graphic graphic, UOColor color)
        {
            UOItem item = World.Player.Layers.FindType(graphic, color);

            if (item.Serial.IsValid)
                UO.UseObject(item);
            else
                ScriptErrorException.Throw("Type not found.");
        }
Example #34
0
        public static IRequestResult WaitTargetType(Graphic graphic, UOColor color)
        {
            UOItem item = World.Player.Layers.FindType(graphic, color);

            if (item.Serial.IsValid)
                return WaitTargetObject(item);
            else {
                ScriptErrorException.Throw("Type not found.");
                return UIManager.FailedResult;
            }
        }
Example #35
0
        public static UOItem FindType(string objectName, Graphic graphic, UOColor color, Serial container)
        {
            UOItem foundItem;

            if (container != 0) {
                UOObject obj = World.GetObject(container);
                if (obj.Serial.IsValid) {
                    if (obj is UOItem)
                        foundItem = ((UOItem)obj).AllItems.FindType(graphic, color);
                    else
                        foundItem = ((UOCharacter)obj).Layers.FindType(graphic, color);
                }
                else {
                    ScriptErrorException.Throw("Invalid container serial.");
                    foundItem = new UOItem(Serial.Invalid);
                }
            }
            else {
                foundItem = World.Ground.FindType(graphic, color);
            }

            Aliases.SetObject(objectName, foundItem);
            return foundItem;
        }