protected override void OnTarget( Mobile from, object targeted )
{
IPoint3D p = targeted as IPoint3D;
Map map = from.Map;
if ( p == null || map == null || m_Deed.Deleted )
return;
if ( m_Deed.IsChildOf( from.Backpack ) )
{
BaseAddon addon = m_Deed.Addon;
Server.Spells.SpellHelper.GetSurfaceTop( ref p );
BaseHouse house = null;
AddonFitResult res = addon.CouldFit( p, map, from, ref house );
if ( res == AddonFitResult.Valid )
addon.MoveToWorld( new Point3D( p ), map );
else if ( res == AddonFitResult.Blocked )
from.SendLocalizedMessage( 500269 ); // You cannot build that there.
else if ( res == AddonFitResult.NotInHouse )
from.SendLocalizedMessage( 500274 ); // You can only place this in a house that you own!
else if ( res == AddonFitResult.DoorTooClose )
from.SendLocalizedMessage( 500271 ); // You cannot build near the door.
else if ( res == AddonFitResult.NoWall )
from.SendLocalizedMessage( 500268 ); // This object needs to be mounted on something.
if ( res == AddonFitResult.Valid )
{
m_Deed.Delete();
house.Addons.Add( addon );
}
else
{
addon.Delete();
}
}
else
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
}
}