public virtual bool Rummage()
{
Corpse toRummage = null;
foreach ( Item item in this.GetItemsInRange( 2 ) )
{
if ( item is Corpse && item.Items.Count > 0 )
{
toRummage = (Corpse)item;
break;
}
}
if ( toRummage == null )
return false;
Container pack = this.Backpack;
if ( pack == null )
return false;
List<Item> items = toRummage.Items;
bool rejected;
LRReason reason;
for ( int i = 0; i < items.Count; ++i )
{
Item item = items[Utility.Random( items.Count )];
Lift( item, item.Amount, out rejected, out reason );
if ( !rejected && Drop( this, new Point3D( -1, -1, 0 ) ) )
{
// *rummages through a corpse and takes an item*
PublicOverheadMessage( MessageType.Emote, 0x3B2, 1008086 );
//TODO: Instancing of Rummaged stuff.
return true;
}
}
return false;
}