示例#1
0
    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));
        }
    }
示例#2
0
        public void BuyItem(Item originalItem)
        {
            // TODO: Create a copy instead of random.
            var newItem = ItemGenerator.CreateItem(_owner, originalItem.ItemDefinition);

            _inventoryGrid.AddItem(newItem);
        }
示例#3
0
 public void GiveConsumables()
 {
     for (int i = 0; i < 100; i++)
     {
         player.AddItem(ItemGenerator.CreateItem("consum", "legendary", 100));
     }
 }
示例#4
0
    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);
                    }
                }
            }
        }
    }
示例#6
0
文件: Chest.cs 项目: Xenxes/Game
 private void PopulateChest(int x)
 {
     for (int cnt = 0; cnt < x; cnt++)
     {
         loot.Add(ItemGenerator.CreateItem());
     }
     _used = true;
 }
示例#7
0
 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));
     }
 }
示例#8
0
    private void PopulateChest(int x)
    {
        for (int cnt = 0; cnt < x; cnt++)
        {
            loot.Add(ItemGenerator.CreateItem());
//			Debug.Log( loot[cnt].Name );
        }

        _used = true;
    }
示例#9
0
    /*
     * //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);
    }
示例#10
0
        /// <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);
        }
示例#11
0
    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;
    }
示例#12
0
    // 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();
    }
示例#13
0
    // 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);
                 }
             }
         }
     }
 }
示例#15
0
        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);
        }
示例#16
0
 public void GiveRandomItem()
 {
     player.AddItem(ItemGenerator.CreateItem("random", "random", player.Level));
 }
示例#17
0
 public void GiveRandomLevelItem()
 {
     player.AddItem(ItemGenerator.CreateItem(TypeOfItem, RarityOfItem, LevelOfItem));
 }
示例#18
0
    //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);
    }
示例#19
0
 // 아이템 생성하기
 public void CreateItem(ViewItem _item)
 {
     sc_ItemGenerator.CreateItem(_item);
 }
示例#20
0
    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);
    }
示例#21
0
        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);
        }