public static void HeaderChange( NetState state, PacketReader pvSrc )
{
Mobile from = state.Mobile;
BaseBook book = World.FindItem( pvSrc.ReadInt32() ) as BaseBook;
if ( book == null || !book.Writable || !from.InRange( book.GetWorldLocation(), 1 ) || !book.IsAccessibleTo( from ) )
return;
pvSrc.Seek( 4, SeekOrigin.Current ); // Skip flags and page count
int titleLength = pvSrc.ReadUInt16();
if ( titleLength > 60 )
return;
string title = pvSrc.ReadUTF8StringSafe( titleLength );
int authorLength = pvSrc.ReadUInt16();
if ( authorLength > 30 )
return;
string author = pvSrc.ReadUTF8StringSafe( authorLength );
book.Title = Utility.FixHtml( title );
book.Author = Utility.FixHtml( author );
}