public void Solve( Mobile from )
        {
            Effects.PlaySound( Location, Map, 0x211 );
            Effects.PlaySound( Location, Map, 0x1F3 );

            Effects.SendLocationEffect( Location, Map, 0x36B0, 4, 4 );
            Effects.SendLocationEffect( new Point3D( X - 1, Y - 1, Z + 2 ), Map, 0x36B0, 4, 4 );
            Effects.SendLocationEffect( new Point3D( X - 2, Y - 1, Z + 2 ), Map, 0x36B0, 4, 4 );

            from.SendMessage( "You scrounge some gems from the wreckage." );

            for ( int i = 0; i < SideLength; i++ )
            {
                from.AddToBackpack( new ArcaneGem() );
            }

            from.AddToBackpack( new Diamond( SideLength ) );

            Item ore = new IronOre( 9 );
            ore.MoveToWorld( new Point3D( X - 1, Y, Z + 2 ), Map );

            ore = new IronOre( 14 );
            ore.MoveToWorld( new Point3D( X - 2, Y - 1, Z + 2 ), Map );

            Delete();
        }