void OnClickRarityButton(int index) { currentRarity = (Item.Rarity)index; Button previouslySelectedRarityButton = selectedRarityButton; Text previouslySelectedRarityText = selectedRarityText; selectedRarityButton = rarityButtons[index]; selectedRarityText = rarityButtonsText[index]; ColorBlock unselectedColors = selectedRarityButton.colors; unselectedColors.normalColor = Color.white; unselectedColors.highlightedColor = Color.gray; previouslySelectedRarityButton.colors = unselectedColors; previouslySelectedRarityText.color = Color.black; ColorBlock selectedColors = selectedRarityButton.colors; selectedColors.normalColor = Color.black; selectedColors.highlightedColor = Color.black; selectedRarityButton.colors = selectedColors; selectedRarityText.color = Color.white; RepopulateItems(); craftDialog.SetActive(false); scavengeOnlyDialog.SetActive(false); }
void CheckForNextRarity() { int index = (int)(Vector3.Distance(startPos, rarityBar.localPosition) / rarityImage.sizeDelta.x); Item.Rarity r = (Item.Rarity)index; rarityText.text = r.ToString(); }
private void SetHighestRarity(Item.Rarity _rarity) { if (_rarity >= highestRarity) { highestRarity = _rarity; } }
public override Weapon Create(Weapon.WeaponType weaponType, GameObject gameObject) { Item.Rarity rarity = GenerateRarity(); Item.Keywords keyword = GenerateKeyword(); Weapon weapon = gameObject.GetComponent <Weapon>(); switch (weaponType) { case Weapon.WeaponType.SWORD: weapon.Init(Weapon.WeaponType.SWORD, rarity, GenerateWeaponSprite(ItemSprites.swordSprites, rarity), rarity + " " + keyword + " Sword"); return(weapon); case Weapon.WeaponType.MACE: weapon.Init(Weapon.WeaponType.MACE, rarity, GenerateWeaponSprite(ItemSprites.maceSprites, rarity), rarity + " " + keyword + " Mace"); return(weapon); case Weapon.WeaponType.BOW: weapon.Init(Weapon.WeaponType.BOW, rarity, GenerateWeaponSprite(ItemSprites.bowSprites, rarity), rarity + " " + keyword + " Bow"); return(weapon); case Weapon.WeaponType.AXE: weapon.Init(Weapon.WeaponType.AXE, rarity, GenerateWeaponSprite(ItemSprites.axeSprites, rarity), rarity + " " + keyword + " Axe"); return(weapon); case Weapon.WeaponType.SPEAR: weapon.Init(Weapon.WeaponType.SPEAR, rarity, GenerateWeaponSprite(ItemSprites.spearSprites, rarity), rarity + " " + keyword + " Spear"); return(weapon); default: Debug.Log("Weapon Type not found"); break; } throw new System.NotImplementedException(); }
public Item generate() { int difficulty = 1 + GameObject.Find("Game Engine").GetComponent <EngineController>().floorNum; slot = (Item.Slot)Random.Range(0, 4); rarity = (Item.Rarity)Random.Range(0, 5); float rarityImprovement = 1 + ((int)rarity * 0.25f); switch (slot) { case Item.Slot.Head: bonusHealth = bellRandom(0, 10 * rarityImprovement * difficulty); bonusAttack = bellRandom(0, 5 * rarityImprovement * difficulty); break; case Item.Slot.Chest: bonusHealth = bellRandom(0, 20 * rarityImprovement * difficulty); break; case Item.Slot.Feet: bonusSpeed = bellRandom(0, 1 * rarityImprovement * difficulty); bonusJump = bellRandom(0, 1 * rarityImprovement * difficulty); break; case Item.Slot.Sword: bonusAttack = bellRandom(0, 10 * rarityImprovement * difficulty); break; } cost = bonusSpeed * 10 + bonusJump * 15 + bonusAttack * 2 + bonusHealth; return(this.getItem()); }
// Generates the sprite based on rarity of the item. public static Sprite GenerateSpriteType(Dictionary <string, Sprite> dict, Item.Rarity rarity) { switch (rarity) { case Item.Rarity.COMMON: return(dict["Common"]); case Item.Rarity.UNCOMMON: return(dict["Uncommon"]); case Item.Rarity.RARE: return(dict["Rare"]); case Item.Rarity.EPIC: return(dict["Epic"]); case Item.Rarity.LEGENDARY: return(dict["Legendary"]); default: Debug.Log(dict + " " + rarity); break; } throw new NotImplementedException(); }
public List <Item_And_Quantity> GetStoredItems(Item.Category category, Item.Rarity rarity) { List <Item_And_Quantity> stored = new List <Item_And_Quantity>(); foreach (Item_And_Quantity storedItem in storedItems) { if (storedItem.item.category == category && storedItem.item.rarity == rarity) { stored.Add(storedItem); } } return(stored); }
private void OnDisable() { for (int i = 0; i < 4; i++) { t_ItemName[i].gameObject.SetActive(false); i_SpriteItem[i].gameObject.SetActive(false); i_SpriteOuter[i].gameObject.SetActive(false); i_SpriteInner[i].gameObject.SetActive(false); t_Cost[i].gameObject.SetActive(false); i_Coin[i].gameObject.SetActive(false); tempSlots[i].transform.localScale = Vector3.one; tempSlots[i].SetActive(false); } highestRarity = Item.Rarity.COMMON; }
public void OverwriteInstance(Item item) { isAllocated = true; uid = ItemMD5Generator.MD5Hash(DateTime.Now.Ticks.ToString()); timeStamp = DateTime.Now.Ticks; id = item.id; nameNative = item.GetNameNative(); rarityNative = item.GetRarityNative(); defaultCost = item.defaultCost; sellingCost = item.sellingCost; rarity = item.rarity; sprite = item.sprite; forgeLevel = item.forgeLevel; firstMarketPrice = UnityEngine.Random.Range(0.5f, 1.5f); secondMarketPrice = UnityEngine.Random.Range(0.5f, 1.5f); thirdMarketPrice = UnityEngine.Random.Range(0.5f, 1.5f); }
public void ClearInstance() { isAllocated = false; uid = ""; timeStamp = long.MaxValue; id = ""; nameNative = ""; rarityNative = ""; defaultCost = 0; sellingCost = 0; rarity = Item.Rarity.COMMON; sprite = null; forgeLevel = 0; firstMarketPrice = 0f; secondMarketPrice = 0f; thirdMarketPrice = 0f; }
public static Color GetRarityColour(Item.Rarity rarity) { switch (rarity) { case Rarity.Common: return(CommonColour); case Rarity.Uncommon: return(UncommonColour); case Rarity.Rare: return(RareColour); case Rarity.Legendary: return(LegendaryColour); } return(Colors.Magenta); }
public static string GetRarityName(Item.Rarity rarity) { switch (rarity) { case Rarity.Common: return("Common"); case Rarity.Uncommon: return("Uncommon"); case Rarity.Rare: return("Rare"); case Rarity.Legendary: return("Legendary"); } return(string.Empty); }
public override Item GetItem(Item.ItemType itemType, GameObject gameObject) { Item.Rarity rarity = GenerateRarity(); Item.Keywords keyword = GenerateKeyword(); Item item = gameObject.GetComponent <Item>(); StatFactory statFactory = new ConcreteStatFactory(); switch (itemType) { case Item.ItemType.ARMOR: item.Init(Item.ItemType.ARMOR, rarity, GenerateItemSprite(ItemSprites.armorSprites, rarity), rarity + " " + keyword + " Armor", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.BOOTS: item.Init(Item.ItemType.BOOTS, rarity, GenerateItemSprite(ItemSprites.bootsSprites, rarity), rarity + " " + keyword + " Boots", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.HELM: item.Init(Item.ItemType.HELM, rarity, GenerateItemSprite(ItemSprites.helmSprites, rarity), rarity + " " + keyword + " Helm", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.BELT: item.Init(Item.ItemType.BELT, rarity, GenerateItemSprite(ItemSprites.beltsSprites, rarity), rarity + " " + keyword + " Belt", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.ACCESSORY: item.Init(Item.ItemType.ACCESSORY, rarity, GenerateItemSprite(ItemSprites.accessorySprites, rarity), rarity + " " + keyword + " Accessory", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.PANTS: item.Init(Item.ItemType.PANTS, rarity, GenerateItemSprite(ItemSprites.pantsSprites, rarity), rarity + " " + keyword + " Pants", statFactory.GenerateStatAmount(rarity)); return(item); case Item.ItemType.GLOVES: item.Init(Item.ItemType.GLOVES, rarity, GenerateItemSprite(ItemSprites.glovesSprites, rarity), rarity + " " + keyword + " Gloves", statFactory.GenerateStatAmount(rarity)); return(item); default: Debug.Log("Item Type not found"); break; } throw new System.NotImplementedException(); }
protected int GenerateStatValue(Item.Rarity rarity) { switch (rarity) { case Item.Rarity.COMMON: return(UnityEngine.Random.Range(1, 10)); case Item.Rarity.UNCOMMON: return(UnityEngine.Random.Range(11, 21)); case Item.Rarity.RARE: return(UnityEngine.Random.Range(24, 50)); case Item.Rarity.EPIC: return(UnityEngine.Random.Range(75, 100)); case Item.Rarity.LEGENDARY: return(UnityEngine.Random.Range(100, 300)); } throw new NotImplementedException(); }
public int GenerateStatAmount(Item.Rarity rarity) { switch (rarity) { case Item.Rarity.COMMON: return(1); case Item.Rarity.UNCOMMON: return(2); case Item.Rarity.RARE: return(3); case Item.Rarity.EPIC: return(4); case Item.Rarity.LEGENDARY: return(5); } throw new NotImplementedException(); }
protected Sprite GenerateWeaponSprite(Dictionary <string, Sprite> dict, Item.Rarity rarity) { switch (rarity) { case Item.Rarity.COMMON: return(dict["Common"]); case Item.Rarity.UNCOMMON: return(dict["Uncommon"]); case Item.Rarity.RARE: return(dict["Rare"]); case Item.Rarity.EPIC: return(dict["Epic"]); case Item.Rarity.LEGENDARY: return(dict["Legendary"]); } throw new NotImplementedException(); }
public Item GetItem(Item.Rarity rarity) { int ind; if (rarity == Item.Rarity.common) { ind = Random.Range(0, commonItemsList.Count - 1); return(commonItemsList[ind]); } else if (rarity == Item.Rarity.uncommon) { ind = Random.Range(0, uncommonItemsList.Count - 1); return(uncommonItemsList[ind]); } else if (rarity == Item.Rarity.rare) { ind = Random.Range(0, rareItemsList.Count - 1); return(rareItemsList[ind]); } ind = Random.Range(0, legendaryItemsList.Count - 1); return(legendaryItemsList[ind]); }
/// <summary> /// Open this instance. /// Chest cannot drop legendary or rare loot! /// Hardcoded /// </summary> public void Open() { // Detach this item from tile. DungeonGenerator.instance.UpdateTileItem(position, null); // attach this to vanity item slot. DungeonGenerator.instance.UpdateVanityItem(position, this.gameObject); VanityItem vi = gameObject.AddComponent <VanityItem>(); vi.position = position; // stop bouncing effect. Destroy(GetComponent <ItemBounce>()); // randomize loot type Item.Type randomType = PrefabManager.instance.RandomizeItemType(); while (randomType == Type.Container) { randomType = PrefabManager.instance.RandomizeItemType(); } // randomize loot rarity. Item.Rarity randomRarity = PrefabManager.instance.RandomizeItemRarity(); while (randomRarity == Item.Rarity.Legendary || randomRarity == Item.Rarity.Rare) { randomRarity = PrefabManager.instance.RandomizeItemRarity(); } // instantiate random type of loot. PrefabManager.instance.InstantiateRandomItemInCategory(randomType, position, randomRarity); // Update the sprite. updateGraphics(); // play sound effect SoundManager.instance.PlaySound(SoundManager.Sound.OpenChest); }
public float GetCostFromRarity(Item.Rarity r) { switch (r) { case Item.Rarity.COMMON: return(commonItemChance); case Item.Rarity.UNCOMMON: return(uncommonItemChance); case Item.Rarity.RARE: return(rareItemChance); case Item.Rarity.EPIC: return(epicItemChance); case Item.Rarity.LEGENDARY: return(legendaryItemChance); default: return(commonItemChance); } }
public ReagentTotal(Reagent.ReagentType rt, int ss, Item.Rarity r) { rType = rt; stackSize = ss; rarity = r; }
public void InstantiateRandomItemInCategory(Item.Type itemType, Vector2 pos, Item.Rarity rarity, bool isShopItem = false, Transform parent = null) { GameObject instObj = null; GameObject prefab = null; int safetyCounter = 0; int safetyCount = 50; switch (itemType) { case Item.Type.Armor: while (true) { prefab = listOfArmors[Random.Range(0, listOfArmors.Count)]; if (prefab.GetComponent <Item>().myRarity == rarity) { break; } if (safetyCounter > listOfArmors.Count + safetyCount) { prefab = null; break; } safetyCounter++; } break; case Item.Type.Gold: prefab = listOfGold[Random.Range(0, listOfGold.Count)]; break; case Item.Type.Weapon: while (true) { prefab = listOfWeapons[Random.Range(0, listOfWeapons.Count)]; if (prefab.GetComponent <Item>().myRarity == rarity) { break; } if (safetyCounter > listOfWeapons.Count + safetyCount) { prefab = null; break; } safetyCounter++; } break; case Item.Type.UsableItem: // create a list. List <GameObject> useItems = null; // randomize if it spawns potions or some other use item. // currently 50 - 50 chance if (Random.Range(0, 100) > 50) { useItems = listOfPotions; } else { useItems = listOfScrolls; } while (true) { prefab = useItems[Random.Range(0, useItems.Count)]; if (prefab.GetComponent <Item>().myRarity == rarity) { break; } if (safetyCounter > listOfPotions.Count + safetyCount) { prefab = null; break; } safetyCounter++; } break; case Item.Type.Spell: while (true) { prefab = listOfSpells[Random.Range(0, listOfSpells.Count)]; if (prefab.GetComponent <Item>().myRarity == rarity) { break; } if (safetyCounter > listOfSpells.Count + safetyCount) { prefab = null; break; } safetyCounter++; } break; case Item.Type.Container: prefab = chestGoldenPrefab; break; } if (prefab == null) { return; } // instantiate object. instObj = (GameObject)Instantiate(prefab); // creates item that takes money before it can be picked up. if (isShopItem) { instObj.GetComponent <Item>().myState = Item.State.Shop; } GameObject tileGO = DungeonGenerator.instance.GetTileAtPos(pos); Tile tile = tileGO.GetComponent <Tile>(); // attach item to tile. tile.item = instObj; // update positions. instObj.GetComponent <Item>().position = pos; instObj.transform.position = new Vector3(pos.x, pos.y, GameMaster.instance.itemZLevel); // set owner to null. instObj.GetComponent <Item>().owner = null; // save startcolor. instObj.GetComponent <Item>().startColor = instObj.GetComponentInChildren <SpriteRenderer>().color; // parent instObj.transform.SetParent(parent); // add to list. itemInstances.Add(instObj); }