Ejemplo n.º 1
0
        public List <ItemLootDrop> GetLootDrop(LootTableState lootTableState, Loot loot, bool lootGroupUnlimitedDrops, bool ignoreDropLimit, bool lootTableUnlimitedDrops, ref int lootGroupRemainingDrops)
        {
            List <ItemLootDrop> returnValue = new List <ItemLootDrop>();
            int itemCount = Random.Range(loot.MinDrops, loot.MaxDrops + 1);

            //Debug.Log("GatherLootTable.RollLoot(): itemCount: " + itemCount);
            for (int i = 0; i < itemCount; i++)
            {
                ItemLootDrop droppedItem = new ItemLootDrop(systemItemManager.GetNewResource(loot.Item.DisplayName), lootTableState, systemGameManager);
                droppedItem.Item.DropLevel = playerManager.MyCharacter.CharacterStats.Level;
                lootTableState.DroppedItems.Add(droppedItem);
                if (lootGroupUnlimitedDrops == false && ignoreDropLimit == false)
                {
                    lootGroupRemainingDrops = lootGroupRemainingDrops - 1;
                    if (lootGroupRemainingDrops <= 0)
                    {
                        break;
                    }
                }
                if (lootTableUnlimitedDrops == false && ignoreDropLimit == false)
                {
                    lootTableState.LootTableRemainingDrops -= 1;
                    if (lootTableState.LootTableRemainingDrops <= 0)
                    {
                        break;
                    }
                }
            }
            //droppedItems.Add(new LootDrop(systemItemManager.GetNewResource(item.MyItem.DisplayName), this));

            return(returnValue);
        }
Ejemplo n.º 2
0
        private void AddItem(string itemName)
        {
            Item tmpItem = systemItemManager.GetNewResource(itemName);

            if (tmpItem != null)
            {
                playerManager.ActiveCharacter.CharacterInventoryManager.AddItem(tmpItem, false);
            }
        }