Server.LootPack.Generate C# (CSharp) Method

Generate() public method

public Generate ( Mobile from, Container cont, bool spawning ) : void
from Mobile
cont Container
spawning bool
return void
		public void Generate( Mobile from, Container cont, bool spawning )
		{
			if ( cont == null )
				return;

			for ( int i = 0; i < m_Entries.Length; ++i )
			{
				LootPackEntry entry = m_Entries[i];

				bool shouldAdd = ( entry.Chance > Utility.Random( 10000 ) );

				if ( !shouldAdd )
					continue;

				Item item = entry.Construct( from, spawning );

				if ( item != null )
				{
					if ( !item.Stackable || !cont.TryDropItem( from, item, false ) )
						cont.DropItem( item );
				}
			}
		}

Usage Example

Ejemplo n.º 1
0
        public virtual void AddLootPouch(LootPack pack)
        {
            if (Summoned)
                return;

            Container backpack = Backpack;

            if (backpack == null)
            {
                backpack = new Backpack();

                backpack.Movable = false;

                AddItem(backpack);
            }
            //find top most container
            while (backpack.FindItemByType(typeof(Backpack)) != null)
                backpack = (Container)backpack.FindItemByType(typeof(Backpack));

            Container LootBag = new Bag();
            backpack.DropItem(LootBag);

            pack.Generate(this, LootBag, m_Spawning, m_KillersLuck);

            if (LootBag.Items.Count <= 0)
                LootBag.Delete();
        }
All Usage Examples Of Server.LootPack::Generate