Example #1
0
        /// <summary>
        /// Returns the loot for the given Mob
        /// </summary>
        /// <param name="mob"></param>
        /// <param name="killer"></param>
        /// <returns></returns>
        public static ItemTemplate[] GetLoot(GameNPC mob, GameObject killer)
        {
            LootList lootList   = null;
            IList    generators = GetLootGenerators(mob);

            foreach (ILootGenerator generator in generators)
            {
                try
                {
                    if (lootList == null)
                    {
                        lootList = generator.GenerateLoot(mob, killer);
                    }
                    else
                    {
                        lootList.AddAll(generator.GenerateLoot(mob, killer));
                    }
                }
                catch (Exception e)
                {
                    if (log.IsErrorEnabled)
                    {
                        log.Error("GetLoot", e);
                    }
                }
            }
            if (lootList != null)
            {
                return(lootList.GetLoot());
            }
            else
            {
                return(new ItemTemplate[0]);
            }
        }