public void SetVariables(object[] infoReceived) { data = infoReceived; itemName = infoReceived[0].ToString(); itemRarity = infoReceived[1].ToString(); itemLevel = infoReceived[2].ToString(); staminaValue = infoReceived[3].ToString(); secondaryStatValueName = (SecondaryStat)infoReceived [4]; secondaryStatValue = infoReceived[5].ToString(); bonusValue1Name = (BonusStat)infoReceived [6]; bonusValue1 = infoReceived[7].ToString(); bonusValue2Name = (BonusStat)infoReceived [8]; bonusValue2 = infoReceived[9].ToString(); bonusValue3Name = (BonusStat)infoReceived [10]; bonusValue3 = infoReceived[11].ToString(); itemType = (EquipableSlot)infoReceived [12]; requiredLevel = infoReceived [13].ToString(); minDamage = infoReceived [14].ToString(); maxDamage = infoReceived [15].ToString(); bonusAbility = infoReceived [16].ToString(); itemID = infoReceived [17].ToString(); optionalBuffID = infoReceived [18].ToString(); armorValue = infoReceived [19].ToString(); equipCost = infoReceived [20].ToString(); }
public void Action() { while (true) { itemType = (EquipableSlot)Random.Range(0, 17); if (itemType == EquipableSlot.None || itemType == EquipableSlot.WeaponAll || itemType == EquipableSlot.Weapon) { continue; } else { break; } } if (itemType == EquipableSlot.Weapon1 || itemType == EquipableSlot.Weapon2) { item = Instantiate(Resources.Load("Prefabrykaty/WID_0400", typeof(GameObject))) as GameObject; //item = Instantiate (Resources.Load ("Prefabrykaty/WID_"+itemBaseGen, typeof(GameObject))) as GameObject; } else { item = Instantiate(Resources.Load("Prefabrykaty/TestItem001", typeof(GameObject))) as GameObject; } item.transform.position = spawnPoint.transform.position; GameObject itemGen = GameObject.FindGameObjectWithTag("ItemGenerator"); itemGen.GetComponent <ItemLevelCreator> ().CreateNew(ItemRarity.RandomGen, 10, 1, 0, itemType); item.SendMessage("SetVariables", itemGen.GetComponent <ItemLevelCreator> ().GetItemInfo()); }
public void OnPawnEquipmentSelected(Pawn pawn, EquipableSlot slot) { if (m_SelectedEquipment != null) { m_Inventory.EquipTo(pawn, m_SelectedEquipment); m_SelectedEquipment = null; } else { m_Inventory.UnequipSlot(pawn, slot); } }
public void SetupFor(Pawn pawn, EquipableSlot slot, UIInventory inv) { m_KeyText.text = slot.ToString(); if (pawn.Equipment.TryGetItem(slot, out m_Item)) { m_ValueText.text = m_Item.ItemName; } else { m_ValueText.text = "-"; } m_SlotSelected.onClick.AddListener(() => { inv.OnPawnEquipmentSelected(pawn, slot); }); }
//string itemType; //int randomSlotMod; //int randomSlotItem; public void CreateNew(ItemRarity rarity, int ilvl, int rlvl, int customDamageBase, EquipableSlot iType) { if (rarity == ItemRarity.RandomGen) { rarity = (ItemRarity)Random.Range(0, 5); } if (ilvl == 0) { ilvl = BazaDanych.playerLevel * 2; } itemRarity = rarity; itemLevel = ilvl; requiredLevel = rlvl; itemType = iType; if (itemType == EquipableSlot.None) { while (true) { itemType = (EquipableSlot)Random.Range(0, 17); if (itemType == EquipableSlot.None || itemType == EquipableSlot.WeaponAll || itemType == EquipableSlot.Weapon) { continue; } else { break; } } } if (itemType == EquipableSlot.Chest || itemType == EquipableSlot.Head || itemType == EquipableSlot.Legs || itemType == EquipableSlot.WeaponAll) { slotMod = 1.0f; } else if (itemType == EquipableSlot.Feet || itemType == EquipableSlot.Hands || itemType == EquipableSlot.Shoulder || itemType == EquipableSlot.Waist || itemType == EquipableSlot.Wrist || itemType == EquipableSlot.Weapon1) { slotMod = 0.75f; } else { slotMod = 0.33f; } if (itemRarity == ItemRarity.Common) { ilvlBase = 30; damageBase = 30; enableBonus1 = false; enableBonus2 = false; enableBonus3 = false; } else if (itemRarity == ItemRarity.Uncommon) { ilvlBase = 50; damageBase = 34; enableBonus1 = true; enableBonus2 = false; enableBonus3 = false; } else if (itemRarity == ItemRarity.Rare) { ilvlBase = 70; damageBase = 38; enableBonus1 = true; enableBonus2 = true; enableBonus3 = false; } else if (itemRarity == ItemRarity.Epic) { ilvlBase = 95; damageBase = 42; enableBonus1 = true; enableBonus2 = true; enableBonus3 = true; } else if (itemRarity == ItemRarity.Legendary) { ilvlBase = 120; damageBase = 46; enableBonus1 = true; enableBonus2 = true; enableBonus3 = true; } //randomSlotMod = Random.Range(0,3); //Przygotowanie zmiennych i ustalenie budżetu ilvl = itemLevel; rlvl = requiredLevel; ilvlBudget = (ilvlBase / 100f); ilvlPrimaryBudget = ilvlBudget * Random.Range(ilvlUsageMin, ilvlUsageMax); ilvlBudget = ilvlBudget - ilvlPrimaryBudget; ilvlSecontaryBudget = ilvlBudget * Random.Range(0.6f, 0.9f); ilvlBudget = (ilvlBudget - ilvlSecontaryBudget); // * commonPer; randomFactor = (Random.Range(randomFactorMin, randomFactorMmax) / 100); //właściwe generowanie statystyk primaryRoll = (((ilvl * ilvlPrimaryBudget) * randomFactor) * slotMod); secondaryRoll = (((ilvl * ilvlSecontaryBudget) * randomFactor) * slotMod); diffMod = (primaryRoll / secondaryRoll); staminaValue = (int)primaryRoll; secondaryStatValue = (int)secondaryRoll; armorValue = (int)((primaryRoll + secondaryRoll) * randomFactor * armorMod * slotMod); if (itemType == EquipableSlot.Weapon1 || itemType == EquipableSlot.Weapon2) { if (customDamageBase != 0) { maxDamage = (int)(((ilvl * ilvlPrimaryBudget * customDamageBase) * randomFactor) * rawDamageMod); minDamage = (int)(maxDamage * 0.75f); } else { maxDamage = (int)(((ilvl * ilvlPrimaryBudget * damageBase) * randomFactor) * rawDamageMod); minDamage = (int)(maxDamage * 0.75f); } } else { maxDamage = 0; minDamage = 0; } //losowanie statystyki dodatkowej statName = Random.Range(0, 4); if (statName == 0) { secondaryRoll = (int)(secondaryRoll * intMod); } if (enableBonus1) { bonusValue1Name = (BonusStat)Random.Range(0, 9); bonusValue1 = (int)((ilvl * ilvlBudget * diffMod * 3) * (1 / diffMod) * slotMod); if (bonusValue1Name == BonusStat.Armor) { bonusValue1 = (int)(bonusValue1 * armorMod); } if (bonusValue1Name == BonusStat.Damage) { bonusValue1 = (int)(bonusValue1 * damageMod); } if (bonusValue1Name == BonusStat.CriticalChance) { bonusValue1 = (int)(bonusValue1 * criticalMod); } if (bonusValue1Name == BonusStat.Lifesteal) { bonusValue1 = (int)(bonusValue1 * lifestealMod); } if (bonusValue1Name == BonusStat.Haste) { bonusValue1 = (int)(bonusValue1 * hasteMod); } if (bonusValue1Name == BonusStat.MagicResistance) { bonusValue1 = (int)(bonusValue1 * magicMod); } if (bonusValue1Name == BonusStat.PhysicResistance) { bonusValue1 = (int)(bonusValue1 * physicMod); } if (bonusValue1Name == BonusStat.ManaSec) { bonusValue1 = (int)(bonusValue1 * manaMod); } if (bonusValue1Name == BonusStat.HelathSec) { bonusValue1 = (int)(bonusValue1 * healthMod); } } if (enableBonus2) { do { bonusValue2Name = (BonusStat)Random.Range(0, 9); } while(bonusValue2Name == bonusValue1Name); bonusValue2 = (int)((ilvl * ilvlBudget * diffMod * 3) * (1 / diffMod) * slotMod); if (bonusValue2Name == BonusStat.Armor) { bonusValue2 = (int)(bonusValue2 * armorMod); } if (bonusValue2Name == BonusStat.Damage) { bonusValue2 = (int)(bonusValue2 * damageMod); } if (bonusValue2Name == BonusStat.CriticalChance) { bonusValue2 = (int)(bonusValue2 * criticalMod); } if (bonusValue2Name == BonusStat.Lifesteal) { bonusValue2 = (int)(bonusValue2 * lifestealMod); } if (bonusValue2Name == BonusStat.Haste) { bonusValue2 = (int)(bonusValue2 * hasteMod); } if (bonusValue2Name == BonusStat.MagicResistance) { bonusValue2 = (int)(bonusValue2 * magicMod); } if (bonusValue2Name == BonusStat.PhysicResistance) { bonusValue2 = (int)(bonusValue2 * physicMod); } if (bonusValue2Name == BonusStat.ManaSec) { bonusValue2 = (int)(bonusValue2 * manaMod); } if (bonusValue2Name == BonusStat.HelathSec) { bonusValue2 = (int)(bonusValue2 * healthMod); } } if (enableBonus3) { do { bonusValue3Name = (BonusStat)Random.Range(0, 9); } while(bonusValue3Name == bonusValue1Name || bonusValue3Name == bonusValue2Name); bonusValue3 = (int)((ilvl * ilvlBudget * diffMod * 3) * (1 / diffMod) * slotMod); if (bonusValue3Name == BonusStat.Armor) { bonusValue3 = (int)(bonusValue3 * armorMod); } if (bonusValue3Name == BonusStat.Damage) { bonusValue3 = (int)(bonusValue3 * damageMod); } if (bonusValue3Name == BonusStat.CriticalChance) { bonusValue3 = (int)(bonusValue3 * criticalMod); } if (bonusValue3Name == BonusStat.Lifesteal) { bonusValue3 = (int)(bonusValue3 * lifestealMod); } if (bonusValue3Name == BonusStat.Haste) { bonusValue3 = (int)(bonusValue3 * hasteMod); } if (bonusValue3Name == BonusStat.MagicResistance) { bonusValue3 = (int)(bonusValue3 * magicMod); } if (bonusValue3Name == BonusStat.PhysicResistance) { bonusValue3 = (int)(bonusValue3 * physicMod); } if (bonusValue3Name == BonusStat.ManaSec) { bonusValue3 = (int)(bonusValue3 * manaMod); } if (bonusValue3Name == BonusStat.HelathSec) { bonusValue3 = (int)(bonusValue3 * healthMod); } } itemInfo [0] = "RandomItem"; itemInfo [1] = itemRarity; itemInfo [2] = itemLevel; itemInfo [3] = staminaValue; itemInfo [4] = secondaryStatValueName; itemInfo [5] = secondaryStatValue; itemInfo [6] = bonusValue1Name; itemInfo [7] = bonusValue1; itemInfo [8] = bonusValue2Name; itemInfo [9] = bonusValue2; itemInfo [10] = bonusValue3Name; itemInfo [11] = bonusValue3; itemInfo [12] = itemType; itemInfo [13] = requiredLevel; itemInfo [14] = minDamage; itemInfo [15] = maxDamage; itemInfo [16] = bonusAbility; itemInfo [17] = itemID; itemInfo [18] = optionalBuffID; itemInfo [19] = armorValue; itemInfo [20] = equipCost; }