Exemple #1
0
        private ItemUsefulProperties EvaluateItem(ExileBot.Entity item)
        {
            ItemUsefulProperties ip = new ItemUsefulProperties();

            Mods     mods  = item.GetComponent <Mods>();
            Sockets  socks = item.GetComponent <Sockets>();
            Map      map   = item.HasComponent <Map>() ? item.GetComponent <Map>() : null;
            SkillGem sk    = item.HasComponent <SkillGem>() ? item.GetComponent <SkillGem>() : null;
            Quality  q     = item.HasComponent <Quality>() ? item.GetComponent <Quality>() : null;

            ip.Name        = this.poe.Files.BaseItemTypes.Translate(item.Path);
            ip.ItemLevel   = mods.ItemLevel;
            ip.NumLinks    = socks.LargestLinkSize;
            ip.NumSockets  = socks.NumberOfSockets;
            ip.Rarity      = mods.ItemRarity;
            ip.MapLevel    = map == null ? 0 : 1;
            ip.IsCurrency  = item.Path.Contains("Currency");
            ip.IsSkillGem  = sk != null;
            ip.Quality     = q == null ? 0 : q.ItemQuality;
            ip.WorthChrome = socks != null && socks.IsRGB;

            ip.IsVaalFragment = item.Path.Contains("VaalFragment");

            CraftingBase craftingBase;

            if (craftingBases.TryGetValue(ip.Name, out craftingBase) && Settings.GetBool("ItemAlert.Crafting"))
            {
                ip.IsCraftingBase = ip.ItemLevel >= craftingBase.MinItemLevel &&
                                    ip.Quality >= craftingBase.MinQuality &&
                                    (craftingBase.Rarities == null || craftingBase.Rarities.Contains(ip.Rarity));
            }

            return(ip);
        }
Exemple #2
0
 private void EntityList_OnEntityRemoved(ExileBot.Entity entity)
 {
     if (this.currentAlerts.ContainsKey(entity))
     {
         this.currentAlerts.Remove(entity);
     }
 }
Exemple #3
0
        private void DoAlert(ExileBot.Entity entity, ItemUsefulProperties ip)
        {
            AlertDrawStyle drawStyle = ip.GetDrawStyle();

            this.currentAlerts.Add(entity, drawStyle);
            this.overlay.MinimapRenderer.AddIcon(new ItemMinimapIcon(entity, "minimap_default_icon.png", drawStyle.color, 8));
            if (Settings.GetBool("ItemAlert.PlaySound") && !this.playedSoundsCache.Contains(entity.LongId))
            {
                this.playedSoundsCache.Add(entity.LongId);
                Sounds.AlertSound.Play();
            }
        }
Exemple #4
0
        private void EntityList_OnEntityAdded(ExileBot.Entity entity)
        {
            if (!Settings.GetBool("ItemAlert") || this.currentAlerts.ContainsKey(entity))
            {
                return;
            }
            if (entity.HasComponent <WorldItem>())
            {
                ExileBot.Entity      item  = new ExileBot.Entity(this.poe, entity.GetComponent <WorldItem>().ItemEntity);
                ItemUsefulProperties props = this.EvaluateItem(item);

                if (props.IsWorthAlertingPlayer(currencyNames))
                {
                    this.DoAlert(entity, props);
                }
            }
        }
Exemple #5
0
        private void EntityList_OnEntityAdded(ExileBot.Entity entity)
        {
            if (!Settings.GetBool("ItemAlert") || this.currentAlerts.ContainsKey(entity))
            {
                return;
            }
            if (entity.HasComponent<WorldItem>())
            {
                ExileBot.Entity item = new ExileBot.Entity(this.poe, entity.GetComponent<WorldItem>().ItemEntity);
                ItemUsefulProperties props = this.EvaluateItem(item);

                if (props.IsWorthAlertingPlayer(currencyNames))
                {
                    this.DoAlert(entity, props);
                }
            }
        }