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

                if (props.IsWorthAlertingPlayer(currencyNames, craftingBases))
                {
                    this.DoAlert(entity, props);
                }
            }
        }
Example #3
0
        private ItemUsefulProperties EvaluateItem(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;

            string prefix = q != null && q.ItemQuality > 0 ? "Superior " : String.Empty;

            ip.Name        = prefix + 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;
            return(ip);
        }