public void AddTrashBarrel( Mobile from )
{
for ( int i = 0; m_Doors != null && i < m_Doors.Count; ++i )
{
BaseDoor door = m_Doors[i] as BaseDoor;
Point3D p = door.Location;
if ( door.Open )
p = new Point3D( p.X - door.Offset.X, p.Y - door.Offset.Y, p.Z - door.Offset.Z );
if ( (from.Z + 16) >= p.Z && (p.Z + 16) >= from.Z )
{
if ( from.InRange( p, 1 ) )
{
from.SendLocalizedMessage( 502120 ); // You cannot place a trash barrel near a door or near steps.
return;
}
}
}
if ( m_Trash == null || m_Trash.Deleted )
{
m_Trash = new TrashBarrel();
m_Trash.Movable = false;
m_Trash.MoveToWorld( from.Location, from.Map );
from.SendLocalizedMessage( 502121 ); /* You have a new trash barrel.
* Three minutes after you put something in the barrel, the trash will be emptied.
* Be forewarned, this is permanent! */
}
else
{
from.SendLocalizedMessage( 502117 ); // You already have a trash barrel!
}
}