Ejemplo n.º 1
0
 public ItemDBEntry(int id, string name, ItemRarity rarity, int level)
 {
     this.ID = id;
     this.Name = name;
     this.Rarity = rarity;
     this.Level = level;
 }
Ejemplo n.º 2
0
        public void Should_parse_all_rarities(IEnumerable<string> lines, ItemRarity itemRarity, ItemType expectedItemType)
        {
            itemRarityParser.Parse(Arg.Any<IEnumerable<string>>()).Returns(itemRarity);

            var target = new ItemTypeParser(wandDefinitions, itemRarityParser);

            target.Parse(lines).Should().Be(expectedItemType);
        }
Ejemplo n.º 3
0
        private static int GetItemTypeLineIndex(ItemRarity itemRarity)
        {
            switch (itemRarity)
            {
                case ItemRarity.Normal:
                case ItemRarity.Magic:
                case ItemRarity.Gem:
                case ItemRarity.Currency:
                    return 1;

                case ItemRarity.Rare:
                case ItemRarity.Unique:
                    return 2;
            }

            return -1;
        }
Ejemplo n.º 4
0
        private static MultiplayerItem ConvertToMultiplayerItem(Guid itemId, int count, bool owned, DateTime?unlockedOn = null, InventoryResponse.ItemInstance itemInstance = null)
        {
            var          catalogItem = StateSingleton.Instance.catalog.result.items.Find(match => match.id == itemId);
            ItemCategory category    =
                Enum.TryParse(catalogItem.category, true, out ItemCategory itemCategory)
                                        ? itemCategory
                                        : ItemCategory.Invalid;

            ItemRarity rarity = Enum.TryParse(Enum.GetName(catalogItem.rarity), true, out ItemRarity itemRarity)
                                ? itemRarity
                                : ItemRarity.Invalid;

            var multiplayerItem = new MultiplayerItem
            {
                count    = count,
                guid     = itemId,
                owned    = owned,
                category = new MultiplayerItemCategory {
                    loc = category, value = (int)category
                },
                rarity = new MultiplayerItemRarity {
                    loc = rarity, value = (int)rarity
                }
            };

            if (unlockedOn != null)
            {
                multiplayerItem.unlocked = new MultiplayerItemUnlocked {
                    on = EpochTime.GetIntDate(unlockedOn.Value)
                };
            }

            if (itemInstance != null)
            {
                multiplayerItem.instance_data = itemInstance;
            }

            return(multiplayerItem);
        }
Ejemplo n.º 5
0
        public ItemUsefulProperties(string name, IEntity item)
        {
            var     mods             = item.GetComponent <Mods>();
            var     socks            = item.GetComponent <Sockets>();
            Map     map              = item.HasComponent <Map>() ? item.GetComponent <Map>() : null;
            Quality qualityComponent = item.HasComponent <Quality>() ? item.GetComponent <Quality>() : null;

            Name           = name;
            itemLevel      = mods.ItemLevel;
            numLinks       = socks.LargestLinkSize;
            numSockets     = socks.NumberOfSockets;
            rarity         = mods.ItemRarity;
            mapLevel       = map == null ? 0 : 1;
            isCurrency     = item.Path.Contains("Currency");
            isSkillGem     = item.HasComponent <SkillGem>();
            quality        = qualityComponent == null ? 0 : qualityComponent.ItemQuality;
            isRgb          = socks.IsRGB;
            isWeapon       = item.HasComponent <Weapon>();
            isArmour       = item.HasComponent <Armour>();
            isFlask        = item.HasComponent <Flask>();
            isVaalFragment = item.Path.Contains("VaalFragment");
        }
 /// <summary>
 /// 매개변수로 받은 ItemSpawnChance 기반으로 무작위 아이템 데이터를 선택
 /// </summary>
 /// <param name="spawnChance">스폰 확률 정보</param>
 /// <returns>무작위로 선택된 아이템 데이터</returns>
 public ItemData SelectRandomItemData(ItemSpawnChance spawnChance)
 {
     if (UnityEngine.Random.value <= spawnChance.SpawnChance)
     {
         ItemRarity selectedRarity = spawnChance.GetRandomItemRarity();
         if (ItemDatasByRarity.TryGetValue(selectedRarity, out var itemDatas))
         {
             int randomIndex = UnityEngine.Random.Range(0, itemDatas.Count);
             return(itemDatas[randomIndex]);
         }
         else
         {
             Debug.LogWarning($"{nameof(ItemRarity)}: {selectedRarity}에 해당하는 아이템 데이터 컬렉션이 없습니다");
             return(null);
         }
     }
     else
     {
         // 아이템을 스폰하지 않음
         return(null);
     }
 }
Ejemplo n.º 7
0
    /// <summary>
    /// Use this for initialization
    /// </summary>
    public Item(string name,
                int id,
                Sprite borderImage,
                int imageID,
                bool stackable,
                ItemRarity itemRarity,
                SlotType slotType,
                ResourceType resourceType)
    {
        Name         = name;
        ID           = id;
        BorderImage  = borderImage;
        ImageID      = imageID;
        Stackable    = stackable;
        ItemRarity   = itemRarity;
        SlotType     = slotType;
        ResourceType = resourceType;

        BonusStats    = new BonusStats();
        BonusAttached = new List <Tuple <BonusType, float> >();
        AddBonus(BonusType, B_Amount);
    }
Ejemplo n.º 8
0
 private static int RollModCount(ItemRarity r, string itemclass)
 {
     if (r == ItemRarity.Magic)
     {
         int roll = RNG.Gen.Next(MagicModCountWeights[0] + MagicModCountWeights[1]);
         return((roll < MagicModCountWeights[0]) ? 1 : 2);
     }
     else if (r == ItemRarity.Rare)
     {
         if (itemclass.Contains("Jewel"))
         {
             int roll = RNG.Gen.Next(JewelModCountWeights[0] + JewelModCountWeights[1]);
             return((roll < JewelModCountWeights[0]) ? 3 : 4);
         }
         else
         {
             int roll = RNG.Gen.Next(ModCountWeights[0] + ModCountWeights[1] + ModCountWeights[2]);
             return((roll < ModCountWeights[0]) ? 4 : (roll < ModCountWeights[0] + ModCountWeights[1]) ? 5 : 6);
         }
     }
     return(0);
 }
Ejemplo n.º 9
0
    public List <Item> GetRandomItems(int numItems = 0, ItemRarity rarityCap = ItemRarity.Common)
    {
        if (numItems < 1)
        {
            numItems = Random.Range(1, 6);
        }

        var items = new List <Item>();

        for (var i = 0; i < numItems; i++)
        {
            if (rarityCap == ItemRarity.Legendary)
            {
                items.Add(GetRandomItem());
            }
            else if (rarityCap == ItemRarity.Common)
            {
                items.Add(GetRandomItemForRarity(ItemRarity.Common));
            }
            else
            {
                const int maxTries = 5;

                var rarity = GlobalHelper.GetRandomEnumValue <ItemRarity>();

                var currentTry = 1;
                while (currentTry <= maxTries && rarity > rarityCap)
                {
                    rarity = GlobalHelper.GetRandomEnumValue <ItemRarity>();
                    currentTry++;
                }

                items.Add(GetRandomItemForRarity(rarity));
            }
        }

        return(items);
    }
Ejemplo n.º 10
0
        public override void ModifyTooltips(List <TooltipLine> tooltips)
        {
            if (storedArmor[0] is null || storedArmor[1] is null || storedArmor[2] is null)
            {
                return;
            }

            TooltipLine armorLineHead = new TooltipLine(mod, "HelmetSlot",
                                                        (storedArmor[0].IsAir) ? "No helmet" : storedArmor[0].Name)
            {
                overrideColor = (storedArmor[0].IsAir) ? new Color(150, 150, 150) : ItemRarity.GetColor(storedArmor[0].rare)
            };

            tooltips.Add(armorLineHead);

            TooltipLine armorLineChest = new TooltipLine(mod, "ChestSlot",
                                                         (storedArmor[1].IsAir) ? "No chestplate" : storedArmor[1].Name)
            {
                overrideColor = (storedArmor[1].IsAir) ? new Color(150, 150, 150) : ItemRarity.GetColor(storedArmor[1].rare)
            };

            tooltips.Add(armorLineChest);

            TooltipLine armorLineLegs = new TooltipLine(mod, "LegsSlot",
                                                        (storedArmor[2].IsAir) ? "No leggings" : storedArmor[2].Name)
            {
                overrideColor = (storedArmor[2].IsAir) ? new Color(150, 150, 150) : ItemRarity.GetColor(storedArmor[2].rare)
            };

            tooltips.Add(armorLineLegs);

            TooltipLine line = new TooltipLine(mod, "Starlight",
                                               "Right click to equip stored armor\n" +
                                               "Right click with armor to add it to the bag\n" +
                                               "Shift-Right click to empty the bag");

            tooltips.Add(line);
        }
Ejemplo n.º 11
0
        public static Color GetColor(this ItemRarity rarity)
        {
            switch (rarity)
            {
            case ItemRarity.Common:
                return(new Color(0.6132076f, 0.6132076f, 0.6132076f, 1f));

            case ItemRarity.Uncommon:
                return(new Color(0.3224012f, 0.990566f, 0.3663174f, 1f));

            case ItemRarity.Rare:
                return(new Color(0.2548505f, 0.3988582f, 0.7830189f, 1f));

            case ItemRarity.UltraRare:
                return(new Color(1f, 0.3537736f, 0.8362778f, 1f));

            case ItemRarity.Legendary:
                return(new Color(0.9736655f, 1f, 0.0990566f, 1f));

            default:
                return(Color.white);
            }
        }
Ejemplo n.º 12
0
        public static Color GetColorFromRarity(ItemRarity r)
        {
            switch (r)
            {
            case ItemRarity.COMMON:
                return(BotUtils.Grey);

            case ItemRarity.UNCOMMON:
                return(BotUtils.Green);

            case ItemRarity.RARE:
                return(BotUtils.Blue);

            case ItemRarity.EPIC:
                return(BotUtils.Purple);

            case ItemRarity.LEGENDARY:
                return(BotUtils.Orange);

            default:
                return(BotUtils.Kamtro);
            }
        }
Ejemplo n.º 13
0
    public static string ItemRarityColor(ItemRarity ItemRarity)
    {
        switch (ItemRarity)
        {
        default:
            return("#FFF");

        case ItemRarity.Common:
            return("#FFF");

        case ItemRarity.Uncommon:
            return("#00FF00");

        case ItemRarity.Rare:
            return("#0473f0");

        case ItemRarity.Epic:
            return("#800080");

        case ItemRarity.Legendary:
            return("#FFA500");
        }
    }
Ejemplo n.º 14
0
    /// <summary>
    ///
    /// </summary>
    private void ItemJsonDataDatabase()
    {
        for (int i = 0; i < ItemJsonData.Count; i++)
        {
            string       Name         = (string)ItemJsonData[i]["Name"];
            int          ID           = int.Parse((string)ItemJsonData[i]["ID"]);
            int          imageId      = Function.FindImageID(Item_Images, (string)ItemJsonData[i]["SpriteName"]);
            bool         Satackable   = (bool)ItemJsonData[i]["Stackable"];
            ItemRarity   ItemRarity   = (ItemRarity)Enum.Parse(typeof(ItemRarity), (string)ItemJsonData[i]["ItemRarity"]);
            SlotType     SlotType     = (SlotType)Enum.Parse(typeof(SlotType), (string)ItemJsonData[i]["ItemType"]);
            ResourceType ResourceType = (ResourceType)Enum.Parse(typeof(ResourceType), (string)ItemJsonData[i]["ResourceType"]);

            Item_Database.Add(new Item(
                                  Name,
                                  ID,
                                  Item_Images[imageId],
                                  imageId,
                                  Satackable,
                                  ItemRarity,
                                  SlotType,
                                  ResourceType));
        }
    }
Ejemplo n.º 15
0
    public Weapon GetRandomRangedWeapon(ItemRarity rarityCap = ItemRarity.Common)
    {
        var rangedTemplates = new List <ItemTemplate>();

        foreach (var templateType in _baseItemTemplateTypes)
        {
            var currentTemplate = ItemTemplateLoader.GetItemTemplate(templateType);

            if (currentTemplate.Category == "weapon" &&
                currentTemplate.EquipmentSlotType == EquipmentSlotType.Missile ||
                currentTemplate.EquipmentSlotType == EquipmentSlotType.Thrown)
            {
                rangedTemplates.Add(currentTemplate);
            }
        }

        var weaponTemplate = rangedTemplates[Random.Range(0, rangedTemplates.Count)];

        if (rarityCap == ItemRarity.Common)
        {
            return(new Weapon(weaponTemplate, rarityCap));
        }

        const int maxTries = 3;

        var rarity = GlobalHelper.GetRandomEnumValue <ItemRarity>();

        var currentTry = 1;

        while (currentTry <= maxTries && rarity > rarityCap)
        {
            rarity = GlobalHelper.GetRandomEnumValue <ItemRarity>();
            currentTry++;
        }

        return(new Weapon(weaponTemplate, rarity));
    }
Ejemplo n.º 16
0
        public static string GetDisplayName(this ItemRarity rarity, bool inColor)
        {
            string output;

            switch (rarity)
            {
            case ItemRarity.UltraRare:
                output = "Ultra Rare";
                break;

            default:
                output = rarity.ToString();
                break;
            }

            if (!inColor)
            {
                return(output);
            }
            else
            {
                return(output.InColor(rarity.GetColor() * 5f));
            }
        }
Ejemplo n.º 17
0
    /// <summary>
    ///
    /// </summary>
    public void Upgrade(ItemRarity itemRarity)
    {
        switch (itemRarity)
        {
        case ItemRarity.Uncommon:
            LevelUpItem(ItemRarity.Common);
            break;

        case ItemRarity.Common:
            LevelUpItem(ItemRarity.Rare);
            break;

        case ItemRarity.Rare:
            LevelUpItem(ItemRarity.Epic);
            break;

        case ItemRarity.Epic:
            LevelUpItem(ItemRarity.Legendary);
            break;

        case ItemRarity.Legendary:
            break;
        }
    }
Ejemplo n.º 18
0
        public static Guid Get(ItemRarity rarity)
        {
            switch (rarity)
            {
            case ItemRarity.Common:
                return(Common);

            case ItemRarity.Rare:
                return(Rare);

            case ItemRarity.Fabled:
                return(Fabled);

            case ItemRarity.Mythic:
                return(Mythic);

            case ItemRarity.Legendary:
                return(Legendary);

            case ItemRarity.Basic:
            default:
                throw new Exception("Invalid rarity for equipment token");
            }
        }
Ejemplo n.º 19
0
        public static Color ToColor(this ItemRarity rarity)
        {
            switch (rarity)
            {
            case ItemRarity.Common:
                return(new Color(000 / 255f, 255 / 255f, 000 / 255f));

            case ItemRarity.Rare:
                return(new Color(000 / 255f, 191 / 255f, 255 / 255f));

            case ItemRarity.Epic:
                return(new Color(148 / 255f, 000 / 255f, 211 / 255f));

            case ItemRarity.Legendary:
                return(new Color(255 / 255f, 165 / 255f, 000 / 255f));

            case ItemRarity.Artifact:
                return(new Color(255 / 255f, 192 / 255f, 203 / 255f));

            //return new Color(255 / 255f, 228 / 255f, 196 / 255f);
            default:
                throw new ArgumentOutOfRangeException(nameof(rarity), rarity, null);
            }
        }
Ejemplo n.º 20
0
        public static List <ItemAmountConfig> GetAugmentCost(ItemDrop.ItemData item, ItemRarity rarity, int recipeEffectIndex)
        {
            var type = item.m_shared.m_itemType;

            var configEntry = Config.AugmentCosts.Find(x => {
                if (x.Rarity != rarity)
                {
                    return(false);
                }

                if (x.ItemTypes?.Count > 0 && !x.ItemTypes.Contains(type.ToString()))
                {
                    return(false);
                }

                return(true);
            });

            if (EffectIsDeprecated(item, recipeEffectIndex))
            {
                return(new List <ItemAmountConfig>());
            }

            if (configEntry != null && !item.GetMagicItem().IsEffectAugmented(recipeEffectIndex))
            {
                var cost          = configEntry.Cost.ToList();
                var reaugmentCost = GetReAugmentCost(item, recipeEffectIndex);
                if (reaugmentCost != null)
                {
                    cost.Add(reaugmentCost);
                }
                return(cost);
            }

            return(configEntry?.Cost);
        }
Ejemplo n.º 21
0
        public ItemData(NormalInventoryItem inventoryItem, BaseItemType baseItemType)
        {
            _inventoryItem = inventoryItem;
            var item = inventoryItem.Item;

            Path = item.Path;
            var @base = item.GetComponent <Base>();

            IsElder  = @base.isElder;
            IsShaper = @base.isShaper;
            var mods = item.GetComponent <Mods>();

            Rarity      = mods.ItemRarity;
            BIdentified = mods.Identified;
            ItemLevel   = mods.ItemLevel;

            var quality = item.GetComponent <Quality>();

            ItemQuality = quality.ItemQuality;
            ClassName   = baseItemType.ClassName;
            BaseName    = baseItemType.BaseName;

            MapTier = item.HasComponent <Map>() ? item.GetComponent <Map>().Tier : 0;
        }
Ejemplo n.º 22
0
        public ItemData(NormalInventoryItem inventoryItem, BaseItemType baseItemType)
        {
            _inventoryItem = inventoryItem;
            var item = inventoryItem.Item;

            Path = item.Path;
            var @base = item.GetComponent <Base>();

            IsElder     = @base.isElder;
            IsShaper    = @base.isShaper;
            IsCorrupted = @base.isCorrupted;
            var mods = item.GetComponent <Mods>();

            Rarity      = mods.ItemRarity;
            BIdentified = mods.Identified;
            ItemLevel   = mods.ItemLevel;

            var quality = item.GetComponent <Quality>();

            ItemQuality = quality.ItemQuality;
            ClassName   = baseItemType.ClassName;
            BaseName    = baseItemType.BaseName;

            if (@base.Name == "Prophecy")
            {
                var @prophParse = item.GetComponent <Prophecy>();
                ProphecyName = @prophParse.DatProphecy.Name.ToLower( );
                ProphecyName = ProphecyName.Replace(" ", "");
                ProphecyName = ProphecyName.Replace(",", "");
                ProphecyName = ProphecyName.Replace("'", "");
                Name         = ProphecyName;
                BaseName     = "Prophecy";
            }

            MapTier = item.HasComponent <Map>( ) ? item.GetComponent <Map>( ).Tier : 0;
        }
Ejemplo n.º 23
0
        public static List <MagicItemEffectDefinition> GetAvailableAugments(AugmentRecipe recipe, ItemDrop.ItemData item, MagicItem magicItem, ItemRarity rarity)
        {
            var valuelessEffect = false;

            if (recipe.EffectIndex >= 0 && recipe.EffectIndex < magicItem.Effects.Count)
            {
                var currentEffectDef = MagicItemEffectDefinitions.Get(magicItem.Effects[recipe.EffectIndex].EffectType);
                valuelessEffect = currentEffectDef.GetValuesForRarity(rarity) == null;
            }

            return(MagicItemEffectDefinitions.GetAvailableEffects(item.Extended(), item.GetMagicItem(), valuelessEffect ? -1 : recipe.EffectIndex));
        }
Ejemplo n.º 24
0
 public void SetItemPrices(ref Item_Skill item, ItemRarity rarity)
 {
     item.sellPrice = rarity.sellPrice;
     item.buyPrice  = rarity.buyPrice;
 }
Ejemplo n.º 25
0
 /// <summary>
 /// Initializes a new instance of the MedKit class
 /// </summary>
 /// <param name="itemRarity">Item rarity</param>
 public MedKit(ItemRarity itemRarity)
     : base(itemRarity)
 {
 }
Ejemplo n.º 26
0
 public ItemSnippet(Item item)
 {
     _item = item;
     Color = ItemRarity.GetColor(item.rare);
 }
Ejemplo n.º 27
0
 protected Item(ItemRarity rarity)
 {
     this.Rarity = rarity;
 }
Ejemplo n.º 28
0
 public static Color GetTextColorByRarity(ItemRarity itemRarity)
 {
     Color tempColor;
     return colors.TryGetValue(itemRarity, out tempColor) ? tempColor : Color.White;
 }
Ejemplo n.º 29
0
Archivo: Key.cs Proyecto: jrusev/Games
 /// <summary>
 /// Initializes a new instance of the Key class
 /// </summary>
 /// <param name="itemRarity">Item Rarity</param>
 public Key(ItemRarity itemRarity)
     : base(itemRarity)
 {
 }
Ejemplo n.º 30
0
Archivo: Item.cs Proyecto: jrusev/Games
 /// <summary>
 /// Initializes a new instance of the Item class
 /// </summary>
 /// <param name="itemRarity">Item Rarity</param>
 protected Item(ItemRarity itemRarity)
 {
     this.Rarity = itemRarity;
 }
Ejemplo n.º 31
0
        public bool ShouldAlert(HashSet<string> currencyNames, ItemAlertSettings settings)
        {
            Mods mods = _item.GetComponent<Mods>();
            QualityItemsSettings qualitySettings = settings.QualityItems;

            rarity = mods.ItemRarity; // set rarity

            if (_item.HasComponent<Quality>())
            {
                quality = _item.GetComponent<Quality>().ItemQuality; // update quality variable
            }

            alertText = string.Concat(quality > 0 ? "Superior " : String.Empty, _name);

            // Check if Map/Vaal Frag
            if (settings.Maps && (_item.HasComponent<Map>() || _item.Path.Contains("VaalFragment")))
            {
                borderWidth = 1;
                return true;
            }

            // Check if Currency
            if (settings.Currency && _item.Path.Contains("Currency"))
            {
                color = HudSkin.CurrencyColor;
                return currencyNames?.Contains(_name) ?? (!_name.Contains("Wisdom") && !_name.Contains("Portal"));
            }

            // Check if DivinationCard
            if (settings.DivinationCards && _item.Path.Contains("DivinationCards"))
            {
                color = HudSkin.DivinationCardColor;
                return true;
            }

            Sockets sockets = _item.GetComponent<Sockets>();
            // Check link REQ.
            if (sockets.LargestLinkSize >= settings.MinLinks)
            {
                if (sockets.LargestLinkSize == 6) // If 6 link change icon
                {
                    alertIcon = 3;
                }
                return true;
            }

            // Check if Crafting Base
            if (IsCraftingBase(mods.ItemLevel))
            {
                alertIcon = 2;
                return true;
            }

            // Check # socket REQ.
            if (sockets.NumberOfSockets >= settings.MinSockets)
            {
                alertIcon = 0;
                return true;
            }

            // RGB
            if (settings.Rgb && sockets.IsRGB)
            {
                alertIcon = 1;
                return true;
            }

            // Check if Jewel
            if (settings.Jewels && _item.Path.Contains("Jewels"))
            {
                return true;
            }

            // meets rarity conidtions
            switch (rarity)
            {
                case ItemRarity.Rare:
                    return settings.Rares;
                case ItemRarity.Unique:
                    return settings.Uniques;
            }

            // Other (no icon change)
            if (qualitySettings.Enable)
            {
                if (qualitySettings.Flask.Enable && _item.HasComponent<Flask>())
                {
                    return (quality >= qualitySettings.Flask.MinQuality);
                }
                else if (qualitySettings.SkillGem.Enable && _item.HasComponent<SkillGem>())
                {
                    color = HudSkin.SkillGemColor;
                    return (quality >= qualitySettings.SkillGem.MinQuality);
                }
                else if (qualitySettings.Weapon.Enable && _item.HasComponent<Weapon>())
                {
                    return (quality >= qualitySettings.Weapon.MinQuality);
                }
                else if (qualitySettings.Armour.Enable && _item.HasComponent<Armour>())
                {
                    return (quality >= qualitySettings.Armour.MinQuality);
                }
            }

            return false; // Meets no checks
        }
Ejemplo n.º 32
0
 private static string GetColour(ItemRarity rare)
 {
     switch (rare)
     {
         case ItemRarity.White:
             return "ffffffff";
         case ItemRarity.Rare_4_affixes:
         case ItemRarity.Rare_5_affixes:
         case ItemRarity.Rare_6_affixes:
             return "ffffff00";
         case ItemRarity.LegendarySet_1_affixes:
         case ItemRarity.LegendarySet_2_affixes:
             return "ffbf642f";
         case ItemRarity.Inferior:
             return "ff888888";
         case ItemRarity.Magic_2_affixes:
         case ItemRarity.Magic_1_affixes:
         case ItemRarity.Magic_3_affixes:
             return "ff6969ff";
         default:
             return "ffffffff";
     }
 }
Ejemplo n.º 33
0
Archivo: Gun.cs Proyecto: jrusev/Games
 /// <summary>
 /// Initializes a new instance of the Gun class
 /// </summary>
 /// <param name="itemRarity">Item Rarity</param>
 /// <param name="damage">Damage</param>
 public Gun(ItemRarity itemRarity, int damage)
     : base(itemRarity)
 {
     this.Damage = damage;
 }
Ejemplo n.º 34
0
    void SetItemRarity()
    {
        Image ItemImage = gameObject.GetComponent<Image>();
        int iRarity = Random.Range(0,500);

        if(iRarity == 500)
        {
            m_eRarity = ItemRarity.ItemRarity_Legendary;
            ItemImage.color = Color.yellow;

        }
        else if(iRarity % 100 == 0)
        {
            m_eRarity = ItemRarity.ItemRarity_Epic;
            ItemImage.color = Color.cyan;
        }
        else if(iRarity % 25 == 0)
        {
            m_eRarity = ItemRarity.ItemRarity_Rare;
            ItemImage.color = Color.magenta;
        }
        else if(iRarity % 5 == 0)
        {
            m_eRarity = ItemRarity.ItemRarity_Uncommon;
            ItemImage.color = Color.gray;
        }
        else
        {
            m_eRarity = ItemRarity.ItemRarity_Common;
        }
    }
        public bool ShouldAlert(HashSet <string> currencyNames, ItemAlertSettings settings)
        {
            Mods mods = _item.GetComponent <Mods>();
            QualityItemsSettings qualitySettings = settings.QualityItems;

            rarity = mods.ItemRarity;

            if (_item.HasComponent <Quality>())
            {
                quality = _item.GetComponent <Quality>().ItemQuality;
            }

            alertText = string.Concat(quality > 0 ? "Superior " : String.Empty, _name);

            if (settings.Maps && (_item.HasComponent <Map>() || _item.Path.Contains("VaalFragment")))
            {
                borderWidth = 1;
                return(true);
            }

            if (settings.Currency && _item.Path.Contains("Currency"))
            {
                color = HudSkin.CurrencyColor;
                return(currencyNames?.Contains(_name) ?? !_name.Contains("Wisdom") && !_name.Contains("Portal"));
            }

            if (settings.DivinationCards && _item.Path.Contains("DivinationCards"))
            {
                color = HudSkin.DivinationCardColor;
                return(true);
            }

            if (settings.Talisman && _item.Path.Contains("Talisman"))
            {
                color = HudSkin.TalismanColor;
                return(true);
            }

            Sockets sockets = _item.GetComponent <Sockets>();

            if (sockets.LargestLinkSize >= settings.MinLinks)
            {
                if (sockets.LargestLinkSize == 6)
                {
                    alertIcon = 3;
                }
                return(true);
            }

            if (IsCraftingBase(mods.ItemLevel))
            {
                alertIcon = 2;
                return(true);
            }

            if (sockets.NumberOfSockets >= settings.MinSockets)
            {
                alertIcon = 0;
                return(true);
            }

            if (settings.Rgb && sockets.IsRGB)
            {
                alertIcon = 1;
                return(true);
            }

            if (settings.Jewels && _item.Path.Contains("Jewels"))
            {
                return(true);
            }

            switch (rarity)
            {
            case ItemRarity.Rare:
                return(settings.Rares);

            case ItemRarity.Unique:
                return(settings.Uniques);
            }

            if (qualitySettings.Enable)
            {
                if (qualitySettings.Flask.Enable && _item.HasComponent <Flask>())
                {
                    return(quality >= qualitySettings.Flask.MinQuality);
                }
                if (qualitySettings.SkillGem.Enable && _item.HasComponent <SkillGem>())
                {
                    color = HudSkin.SkillGemColor;
                    return(quality >= qualitySettings.SkillGem.MinQuality);
                }
                if (qualitySettings.Weapon.Enable && _item.HasComponent <Weapon>())
                {
                    return(quality >= qualitySettings.Weapon.MinQuality);
                }
                if (qualitySettings.Armour.Enable && _item.HasComponent <Armour>())
                {
                    return(quality >= qualitySettings.Armour.MinQuality);
                }
            }
            return(false);
        }
Ejemplo n.º 36
0
 public CommonItem(ItemRarity pRarity) : base(pRarity)
 {
 }
Ejemplo n.º 37
0
 public RarityBlockItem(FilterPredicateOperator predicateOperator, ItemRarity predicateOperand)
     : base(predicateOperator, (int)predicateOperand)
 {
 }
Ejemplo n.º 38
0
 public ItemSnippet(Item item)
     : base("")
 {
     this._item = item;
     this.Color = ItemRarity.GetColor(item.rare);
 }
Ejemplo n.º 39
0
 public Legs(Texture2D texture, ItemRarity rarity) : base(texture, ItemType.LEGS, rarity)
 {
 }
Ejemplo n.º 40
0
 /// <summary>
 /// Initializes a new instance of the Bullet class
 /// </summary>
 /// <param name="itemRarity">Item Rarity</param>
 public Bullet(ItemRarity itemRarity)
     : base(itemRarity)
 {
 }
Ejemplo n.º 41
0
 public Weapon(string name, string description, int value, ItemRarity itemRarity, string image, int damage) : base(name, description, value, itemRarity, image)
 {
     this.Damage = damage;
 }
Ejemplo n.º 42
0
 public void SetRarity(ItemRarity rarity)
 {
     Rarity = rarity;
 }
Ejemplo n.º 43
0
 public RarityBlockItem(FilterPredicateOperator predicateOperator, ItemRarity predicateOperand)
     : base(predicateOperator, (int)predicateOperand)
 {
 }
Ejemplo n.º 44
0
 /// <summary>
 /// Initializes a new instance of the Armor class
 /// </summary>
 /// <param name="itemRarity">Rarity of the item</param>
 /// <param name="armorValue">Armor value</param>
 public Armor(ItemRarity itemRarity, int armorValue)
     : base(itemRarity)
 {
     this.ArmorValue = armorValue;
 }