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); }
private void EntityList_OnEntityRemoved(ExileBot.Entity entity) { if (this.currentAlerts.ContainsKey(entity)) { this.currentAlerts.Remove(entity); } }
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(); } }
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); } } }
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); } } }