public void PopulateChest() { loot = new List <Item>(); bool isNum = int.TryParse(itemsInChest, out numToPopulate); if (!isNum) { if (itemsInChest == "random") { int randomNum = Random.Range(0, 100 + 1); if (randomNum < 55) { numToPopulate = 0; } else { numToPopulate = Random.Range(0, 1 + 1); } } else { numToPopulate = 1; } } for (int cnt = 0; cnt < numToPopulate; cnt++) { loot.Add(ItemGenerator.CreateItem(chestSpawnType, chestRarity, chestItemLevel)); } }
public void BuyItem(Item originalItem) { // TODO: Create a copy instead of random. var newItem = ItemGenerator.CreateItem(_owner, originalItem.ItemDefinition); _inventoryGrid.AddItem(newItem); }
public void GiveConsumables() { for (int i = 0; i < 100; i++) { player.AddItem(ItemGenerator.CreateItem("consum", "legendary", 100)); } }
void Start() { if (player == null) { player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerNew>(); } vendorItems = new List <Item>(); int randomNumberOfItems = Random.Range(2, 7 + 1); for (int i = 0; i < randomNumberOfItems; i++) { vendorItems.Add(ItemGenerator.CreateItem("weapon", "random", player.Level)); } randomNumberOfItems = Random.Range(2, 6 + 1); for (int i = 0; i < randomNumberOfItems; i++) { vendorItems.Add(ItemGenerator.CreateItem("armor", "random", player.Level)); } randomNumberOfItems = Random.Range(0, 2 + 1); for (int i = 0; i < randomNumberOfItems; i++) { vendorItems.Add(ItemGenerator.CreateItem("socket", "random", player.Level)); } }
private void PlaceItems() { foreach (var room in _map.Rooms) { if (Dice.Roll("1D10") < 3) { if (_map.DoesRoomHaveWalkableSpace(room)) { Point randomRoomLocation = _map.GetRandomLocationInRoom(room); if (randomRoomLocation != null) { Item item = ItemGenerator.CreateItem(); Point location = _map.GetRandomLocationInRoom(room); item.go = GameObject.Instantiate <GameObject>(Game.Items[item.Name], new Vector2(location.X, location.Y), Quaternion.identity); item.go.transform.SetParent(Game.itemsHolder); item.go.GetComponent <Renderer>().enabled = false; Game.ItemsTiles[location.X, location.Y] = item; _map.AddTreasure(location.X, location.Y, item); } } } } }
private void PopulateChest(int x) { for (int cnt = 0; cnt < x; cnt++) { loot.Add(ItemGenerator.CreateItem()); } _used = true; }
public void GiveSockets() { for (int i = 0; i < 4; i++) { player.AddItem(ItemGenerator.CreateItem("socket", "legendary", 20)); player.AddItem(ItemGenerator.CreateItem("socket", "legendary", 60)); player.AddItem(ItemGenerator.CreateItem("socket", "legendary", 100)); } }
private void PopulateChest(int x) { for (int cnt = 0; cnt < x; cnt++) { loot.Add(ItemGenerator.CreateItem()); // Debug.Log( loot[cnt].Name ); } _used = true; }
/* * //display the mob stats only if we have it targettted and the DEBUGGER is defined * void OnGUI() { * int lh = 20; * * for( int cnt = 0; cnt < Enum.GetValues( typeof( AttributeName ) ).Length; cnt++ ) * GUI.Label( new Rect( 10, 10 + (cnt * lh), 140, lh ), ((AttributeName)cnt).ToString() + ": " + GetPrimaryAttribute(cnt).BaseValue ); * * for( int cnt = 0; cnt < Enum.GetValues(typeof( VitalName )).Length; cnt++ ) * GUI.Label( new Rect( 10, 10 + (cnt * lh) + ( Enum.GetValues(typeof(AttributeName)).Length * lh), 140, lh ), ((VitalName)cnt).ToString() + ": " + GetVital(cnt).CurValue + " / " + GetVital(cnt).AdjustedBaseValue ); * * for( int cnt = 0; cnt < Enum.GetValues( typeof( SkillName ) ).Length; cnt++ ) * GUI.Label( new Rect( 150, 10 + (cnt * lh), 140, lh ), ((SkillName)cnt).ToString() + ": " + GetSkill(cnt).AdjustedBaseValue ); * * } */ private void SetupGear() { //use the itemgenerator script to create a melee weapon EquipedWeapon = ItemGenerator.CreateItem(ItemType.MeleeWeapon); //use the itemgenerator script to create a ranged weapon Debug.Log("Name: " + _equipment[(int)EquipmentSlot.MainHand].Name); Debug.Log("Name: " + ((Weapon)_equipment[(int)EquipmentSlot.MainHand]).MaxDamage); }
/// <summary> /// Transfers an amount from one stack to a free space /// </summary> public void OnInventorySplitStackMessage(InventorySplitStackMessage msg) { Item itemFrom = GetItem((uint)msg.FromID); itemFrom.Attributes[GameAttribute.ItemStackQuantityLo] -= (int)msg.Amount; itemFrom.Attributes.SendChangedMessage(_owner.InGameClient); Item item = ItemGenerator.CreateItem(_owner, itemFrom.ItemDefinition); item.Attributes[GameAttribute.ItemStackQuantityLo] = (int)msg.Amount; InventoryGrid targetGrid = (msg.InvLoc.EquipmentSlot == (int)EquipmentSlotId.Stash) ? _stashGrid : _inventoryGrid; targetGrid.AddItem(item, msg.InvLoc.Row, msg.InvLoc.Column); }
private void PropList(int x) { switch (x) { case 1: if (!_displayShopWindow) { for (int cnt = 1; cnt < 2; cnt++) { loot.Add(ItemGenerator.CreateItem(cnt)); } } break; case 2: if (!_displayShopWindow) { for (int cnt = 3; cnt < 13; cnt++) { loot.Add(ItemGenerator.CreateItem(cnt)); } } break; case 3: if (!_displayShopWindow) { for (int cnt = 13; cnt < 17; cnt++) { loot.Add(ItemGenerator.CreateItem(cnt)); } } break; case 4: if (!_displayShopWindow) { for (int cnt = 17; cnt < 19; cnt++) { loot.Add(ItemGenerator.CreateItem(cnt)); } } break; } _displayShopWindow = true; _displayInventoryWindow = true; }
// Use this for initialization void Start() { if (player == null) { player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerNew>(); } trackSteps = true; for (int i = 0; i < RewardNum; i++) { Item x = ItemGenerator.CreateItem(rewardType, "legendary", player.Level); QuestReward.Add(x); } QuestNPCName = GetComponent <NPCDialog>().NpcName; CheckRequirements(); }
// Use this for initialization void Start() { //For testing ///////////////////////////////////// ModifyAttribute(AttributeName.Strength, 10); ModifyAttribute(AttributeName.Dexterity, 10); ModifyAttribute(AttributeName.Vitality, 10); ModifyAttribute(AttributeName.Intelligence, 10); Name = "Player"; RefreshVitals(); /////////////////////////////////////////////////// Item item = ItemGenerator.CreateItem("consum", "random", 100); item.CurStacks = 10; Item itemcopy = DeepCopy.CopyItem(item); Inventory.Add(item); Inventory.Add(itemcopy); }
private void PlaceItems() { foreach (var room in _map.Rooms) { if (Dice.Roll("1D10") < 3) { if (_map.DoesRoomHaveWalkableSpace(room)) { Point randomRoomLocation = _map.GetRandomLocationInRoom(room); if (randomRoomLocation != null) { Item item = ItemGenerator.CreateItem(); Point location = _map.GetRandomLocationInRoom(room); _map.AddTreasure(location.X, location.Y, item); } } } } }
public static PcData Generate(int listIndex, Gender gender, string r, string p) { //if (availableRaces == null || availableProfessions == null) return null; string race_key = ""; if (r == "") { race_key = availableRaces[Random.Range(0, availableRaces.Count)]; } else { race_key = r; } string professionKey = ""; if (p == "") { professionKey = availableProfessions[Random.Range(0, availableProfessions.Count)]; } else { professionKey = p; } Race race = Database.GetRace(race_key); Profession profession = Database.GetProfession(professionKey); string hair = ""; string beard = ""; if (gender == Gender.None) { if (Random.Range(0, 100) < 50) { gender = Gender.Male; if (race.maleDefaultHair != "") { hair = "Hair " + Random.Range(1, 9); } if (race.maleDefaultBeard != "" && Random.Range(0, 100) < 50) { beard = "Beard " + Random.Range(1, 8); } } else { gender = Gender.Female; if (race.femaleDefaultHair != "") { hair = "Hair " + Random.Range(1, 17); } beard = race.femaleDefaultBeard; } } else if (gender == Gender.Male) { gender = Gender.Male; if (race.maleDefaultHair != "") { hair = "Hair " + Random.Range(1, 9); } if (race.maleDefaultBeard != "" && Random.Range(0, 100) < 50) { beard = "Beard " + Random.Range(1, 8); } } else if (gender == Gender.Female) { gender = Gender.Female; if (race.femaleDefaultHair != "") { hair = "Hair " + Random.Range(1, 17); } beard = race.femaleDefaultBeard; } PcData pc = new PcData(NameGenerator.Get(gender, race_key, professionKey), gender, 1, race_key, professionKey, hair, beard, listIndex, -1, 3 + GameValue.Roll(new GameValue(1, 3), false), 3 + GameValue.Roll(new GameValue(1, 3), false)); pc.Background = BackgroundGenerator.Generate(); pc.Personality = GeneratePersonality(); pc.Description = GenerateDescription(pc); pc.LevelUp(); pc.CalculateExp(); pc.AddExperience(Random.Range(0, 999), false); if (profession.StartingItems.Count > 0) { for (int i = 0; i < profession.StartingItems.Count; i++) { ItemData item = ItemGenerator.CreateItem(profession.StartingItems[i].ItemKey, profession.StartingItems[i].MaterialKey, profession.StartingItems[i].PlusKey, profession.StartingItems[i].PreKey, profession.StartingItems[i].PostKey, profession.StartingItems[i].StackSize); if (race.ArmorSlotAllowed((EquipmentSlot)item.Slot) == true) { pc.Inventory.EquipItem(item, ((EquipmentSlot)item.Slot)); } } } else { for (int i = 0; i < pc.Inventory.EquippedItems.Length; i++) { if (Database.GetRace(race_key).ArmorSlotAllowed(((EquipmentSlot)i)) == true) { int chanceForItem = 25; if (i == (int)EquipmentSlot.Right_Hand) { chanceForItem = 100; } else if (i == (int)EquipmentSlot.Body) { chanceForItem = 100; } else if (i == (int)EquipmentSlot.Feet) { chanceForItem = 100; } if (Random.Range(1, 101) <= chanceForItem) { ItemData item = ItemGenerator.CreateRandomItem(i, 25, 25); if (item != null) { pc.Inventory.EquippedItems[i] = new ItemData(item); } } } } } int numAccessories = Random.Range(1, 3); pc.Inventory.AccessoryLimit = numAccessories + Random.Range(0, 3); for (int i = 0; i < numAccessories; i++) { pc.Inventory.EquipAccessory(ItemGenerator.CreateRandomItem(ItemTypeAllowed.Accessory, 0, 0), -1); } for (int spell = 0; spell < pc.Abilities.KnownSpells.Count; spell++) { if (Random.Range(0, 100) < 100) { pc.Abilities.KnownSpells[spell].BoostRune = Helper.RandomValues <string, AbilityModifier>(Database.Runes).Key; } } string key = positiveQuirks[Random.Range(0, positiveQuirks.Count)]; pc.Abilities.AddTrait(new Ability(Database.GetAbility(key))); key = neutralQuirks[Random.Range(0, neutralQuirks.Count)]; pc.Abilities.AddTrait(new Ability(Database.GetAbility(key))); key = negativeQuirks[Random.Range(0, negativeQuirks.Count)]; pc.Abilities.AddTrait(new Ability(Database.GetAbility(key))); if (GameValue.Roll(1, 100) < 20) { key = woundQuirks[Random.Range(0, woundQuirks.Count)]; pc.Abilities.AddTrait(new Ability(Database.GetAbility(key))); } pc.CalculateAttributeModifiers(); pc.CalculateStartAttributes(true); pc.CalculateDerivedAttributes(); pc.CalculateStartSkills(); pc.CalculateResistances(); pc.CalculateExpCosts(); pc.Abilities.PowerSlots = (pc.Attributes.GetAttribute(AttributeListType.Derived, (int)BaseAttribute.Memory).Current / 5) + 1; pc.Abilities.SpellSlots = (pc.Attributes.GetAttribute(AttributeListType.Derived, (int)BaseAttribute.Memory).Current / 5) + 1; pc.Abilities.FindTraits(); pc.Abilities.FindAvailableAbilities(); //pc.AddExperience(Random.Range(0, 500) * 10, false); pc.CalculateUpkeep(); return(pc); }
public void GiveRandomItem() { player.AddItem(ItemGenerator.CreateItem("random", "random", player.Level)); }
public void GiveRandomLevelItem() { player.AddItem(ItemGenerator.CreateItem(TypeOfItem, RarityOfItem, LevelOfItem)); }
//Pass 3 variables // 1. The type of item to make, or random. // 2. The rarity of the item (higher rarity , better buffs etc) // This should hopefully be a random factor, e.g. 30% of getting rares or w/e // 3. Item level, low levels can get rare items but only do low dmg // Higher item levels will be rare and also have higher dps. public static Item CreateItem(string itemType, string chestRarityType, int chestLevel) { //reset for buffs procAdded = false; dmgAdded = false; critChanceAdded = false; critDmgAdded = false; moveSpeedAdded = false; socketsAdded = false; //init chestRarity = chestRarityType; levelOfChest = chestLevel; //set rarity itemRarity = RandomizeRarity(); Item item = new Item(); //call the method to create that base item type //fill in all of the values for the item type //RANDOM EQUIPS or RANDOM ALL if (itemType == "random") { int randomNum = Random.Range(1, 100 + 1); if (randomNum < 20) { itemType = "weapon"; } else if (randomNum < 70) { itemType = "armor"; } else if (randomNum < 90) { itemType = "consum"; } else { itemType = "socket"; } } else { itemType = "armor"; } //itemType = "weapon"; //chestRarity = "legendary"; switch (itemType) { case "weapon": item = CreateWeapon(); break; case "armor": item = CreateArmor(); break; case "socket": item = CreateSocketItem(); break; case "consum": item = CreateConsumable(); break; default: item = ItemGenerator.CreateItem("random", chestRarity, levelOfChest); break; } //Only for things which can be equipped if (item.ItemType != ItemEquipType.Consumable && item.ItemType != ItemEquipType.Socket) { item.Rarity = itemRarity; item.RequiredLevel = chestLevel + Random.Range(-4, 3 + 1); if (item.RequiredLevel == 0 || item.RequiredLevel < 0) { item.RequiredLevel = 1; } if (item.RequiredLevel > 100) { item.RequiredLevel = 100; } item = AddBuffs(item); item.Name = GenerateName(item); item.Value = CalculateValue(item); } //Finally, if it's a consumable (add other stuff later) we will set item to common //later we want to change this for buffs/perm buffs, as they are rarer //also want to add similar thing at end for sockets and quest items //so quest items aren't showing up as legendary items etc //quest items shud have unique color if (item.ItemType == ItemEquipType.Consumable) { item.Rarity = RarityTypes.Common; } //Example // if(item.ItemType == ItemEquipType.Weapon){ // AddProc (item,1.55f); // (item as Weapon).ProcModifier = 0.5f; // (item as Weapon).Sockets = 5; // } if (item.Description == "") { item.Description = "An item I've found during my adventures."; } return(item); }
// 아이템 생성하기 public void CreateItem(ViewItem _item) { sc_ItemGenerator.CreateItem(_item); }
void GiveStuff() { AddItem(ItemGenerator.CreateItem("weapon", "legendary", 2)); Item fireItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon fireWeapon = fireItem as Weapon; fireWeapon.DmgType = DamageType.Fire; fireWeapon.DmgValue = 100; fireWeapon.CritChance = 0.7f; fireWeapon.CritDamage = 4.0f; AddItem(fireWeapon); Item waterItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon waterWeapon = waterItem as Weapon; waterWeapon.DmgType = DamageType.Water; waterWeapon.DmgValue = 100; AddItem(waterWeapon); Item knockBackItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon knockBackWep = knockBackItem as Weapon; knockBackWep.Proc = ProcType.Knockback; knockBackWep.ProcModifier = 0.8f; AddItem(knockBackWep); Item stunItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon stunWep = stunItem as Weapon; stunWep.Proc = ProcType.Stun; stunWep.ProcModifier = 0.8f; AddItem(stunWep); Item slowItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon slowWep = slowItem as Weapon; slowWep.Proc = ProcType.Slow; slowWep.ProcModifier = 0.8f; AddItem(slowWep); Item poisonItem = ItemGenerator.CreateItem("weapon", "legendary", 2); Weapon poisonWep = poisonItem as Weapon; poisonWep.Proc = ProcType.Poison; poisonWep.ProcModifier = 0.8f; AddItem(poisonWep); AddItem(ItemGenerator.CreateItem("armor", "legendary", 2)); AddItem(ItemGenerator.CreateItem("armor", "legendary", 2)); AddItem(ItemGenerator.CreateItem("armor", "legendary", 2)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("consum", "legendary", 25)); AddItem(ItemGenerator.CreateItem("socket", "legendary", 10)); AddItem(ItemGenerator.CreateItem("socket", "legendary", 10)); AddItem(ItemGenerator.CreateItem("socket", "legendary", 10)); AddItem(ItemGenerator.CreateItem("socket", "legendary", 10)); ModifyGold(1000); }
public void LoadFromDB() { //load everything and make a switch on slot_id Item item = null; int goldAmount = _owner.Toon.GameAccount.DBGameAccount.Gold; // Clear already present items // LoadFromDB is called every time World is changed, even entering a dungeon _stashGrid.Clear(); _inventoryGrid.Clear(); // first of all load stash size var slots = this._owner.Toon.GameAccount.DBGameAccount.StashSize; if (slots > 0) { _owner.Attributes[GameAttribute.Shared_Stash_Slots] = slots; _owner.Attributes.BroadcastChangedIfRevealed(); // To be applied before loading items, to have all the space needed _stashGrid.ResizeGrid(_owner.Attributes[GameAttribute.Shared_Stash_Slots] / 7, 7); } // next load all stash items var stashInventoryItems = _dbInventories.Where( dbi => dbi.DBGameAccount.Id == _owner.Toon.GameAccount.PersistentID && dbi.DBToon == null && dbi.ItemId != -1).ToList(); foreach (var inv in stashInventoryItems) { var slot = inv.EquipmentSlot; var gbid = inv.ItemId; if (slot == (int)EquipmentSlotId.Stash) { // load stash item = ItemGenerator.CreateItem(_owner, ItemGenerator.GetItemDefinition(gbid)); item.DBInventory = inv; this._stashGrid.AddItem(item, inv.LocationY, inv.LocationX); } } // next read all items var allInventoryItems = _dbInventories.Where( dbi => dbi.DBToon != null && dbi.DBToon.Id == _owner.Toon.PersistentID && dbi.ItemId != -1).ToList(); foreach (var inv in allInventoryItems) { var slot = inv.EquipmentSlot; var gbid = inv.ItemId; if (slot >= (int)EquipmentSlotId.Inventory && slot <= (int)EquipmentSlotId.Neck) { item = ItemGenerator.CreateItem(this._owner, ItemGenerator.GetItemDefinition(gbid)); item.DBInventory = inv; if (slot == (int)EquipmentSlotId.Inventory) { this._inventoryGrid.AddItem(item, inv.LocationY, inv.LocationX); } else { _equipment.EquipItem(item, (int)slot); } } } this._inventoryGold = ItemGenerator.CreateGold(this._owner, goldAmount); this._inventoryGold.Attributes[GameAttribute.ItemStackQuantityLo] = goldAmount; // This is the attribute that makes the gold visible in game this._inventoryGold.Owner = _owner; this._inventoryGold.SetInventoryLocation((int)EquipmentSlotId.Gold, 0, 0); }