예제 #1
0
 public SimpleItem(Helpers.Item I)
 {
     ItemQuality = I.ItemQuality;
     SNOItem     = I.SNOItem;
     AncientItem = I.AncientItem;
     ShowAncient = I.ShowAncient;
 }
예제 #2
0
        public static void SetAllowedItem(FindersKeepers.Helpers.Item Item, FilterItems Filter, bool ValidItem)
        {
            if ((!Config.Get <FKConfig>().General.FKSettings.DebugMode&& (Filter.OnlyAncient && !Item.AncientItem)))
            {
                return;
            }

            //if (!ValidItem) // Check this!! Not triggering in debug mode
            //  return;

            FKAccounts.Multibox Box = null;

            if (Filter.UseVoice)
            {
                SoundHelper.PlayVoice(Filter, Item);
            }

            else if (Filter.MultiboxSound)
            {
                SoundHelper.Play(Filter, GameManagerAccountHelper.CurrentData.Multibox.MultiboxID);
            }

            else if (Filter.SoundEnabled)
            {
                // SoundHelper.Play(Filter.SoundPath);

                if (Config.Get <FKConfig>().General.FKSettings.WriteToFile&& Item.ItemQuality == ItemQuality.Legendary)
                {
                    SoundHelper.OutputToFile(Item, GameManagerAccountHelper.CurrentData.Multibox.Nickname);
                }
            }

            Item.ShowAncient = Filter.ShowIfAncient;

            if (GameManager.Instance.GManager.GCache.Multiboxing)
            {
                if ((GameManagerAccountHelper.CurrentData.Multibox.Foreground != null && GameManagerAccountHelper.CurrentData.Multibox.TextColor != null) && GameManagerAccountHelper.CurrentData.Multibox.TextColor.Length > 0)
                {
                    Box = GameManagerAccountHelper.CurrentData.Multibox;
                }
            }

            if (Filter.OverlayIngame)
            {
                GameManager.Instance.GManager.GRef.D3OverlayControl.ItemOverlay.Add(
                    new OverlayItems {
                    Account    = Box,
                    Item       = new OverlayItems.SimpleItem(Item),
                    ItemType   = OverlayItems.Type.Item,
                    Transition = Filter.OverlayTimer
                });
            }
            //GameManager.Instance.GManager.GRef.ItemOverlay.Add(new OverlayItems { Account = Box, Item = new OverlayItems.SimpleItem(Item), ItemType = OverlayItems.Type.Item, Transition = Filter.OverlayTimer });
        }
예제 #3
0
        public static void Enumerate(ActorCommonData Actor, bool Gambling = false)
        {
            if (Ignored.Contains(Actor.x0B4_GameBalanceId))
            {
                return;
            }

            int key = Enigma.D3.Helpers.Attributes.Seed.GetValue(Actor);

            if (!GameManagerAccountHelper.Current.LevelAreaContainer.Items.Contains(key))
            {
                // Prevent leg in inventory / chat
                if (Actor.x090_ActorSnoId != -1 && Actor.x27C_WorldId != 0 && Actor.x0D0_WorldPosX != 0 && (Actor.x0B0_GameBalanceType == Enigma.D3.Enums.GameBalanceType.Items))
                {
                    Helpers.Item Item      = new Helpers.Item(Actor);
                    bool         ValidItem = (!Config.Get <FKConfig>().General.FKSettings.DebugMode);

                    if (!Gambling && ValidItem)
                    {
                        ValidItem = ((Enigma.D3.Helpers.Attributes.ItemAssignedHeroLow.GetValue(Item.ItemActor) > 1));
                    }

                    if (ValidItem)
                    {
                        FindersKeepers.Helpers.FKTracker.Add(Item, Gambling);
                    }

                    foreach (FilterItems Filter in Config._.FKFilters.Filters.Where(x => x.Enabled))
                    {
                        if (Filter.FilterType == FilterItems.Type.Item)
                        {
                            if (OverrideQuality(Item, (LegendaryItemsTypes)Item.SNOItem.ItemType) == Filter.Quality)
                            {
                                if (Gambling && Filter.DisableForKadala)
                                {
                                    continue;
                                }

                                if (Filter.AttributesFilter.Contains(Item.SNOItem.ItemType))
                                {
                                    SetAllowedItem(Item, Filter, true); // ValidItem
                                }
                            }
                        }
                    }
                    GameManagerAccountHelper.Current.LevelAreaContainer.Items.Add(key);
                }
            }
        }
예제 #4
0
        public static ItemQuality OverrideQuality(Helpers.Item Item, LegendaryItemsTypes ItemType)
        {
            if (ItemType == LegendaryItemsTypes.PlanLegendary_Smith)
            {
                Item.ItemQuality = ItemQuality.Legendary;
            }

            /*
             *                  ItemQuality result;
             *                  if (ItemType == LegendaryItemsTypes.Demonic_Key || ItemType == LegendaryItemsTypes.Demonic_Key || ItemType == LegendaryItemsTypes.Gift)
             *                  {
             *                          result = ItemQuality.Legendary;
             *                  }
             *                  else
             *                  {
             *                          result = Item.ItemQuality;
             *                  }
             *                  return result;
             */

            return(Item.ItemQuality);
        }