private void Handle_Player_Tell_Request( CPlayerTellRequest message, EPersistenceID player_id )
        {
            CPlayerTellResponse tell_response = new CPlayerTellResponse( message.RequestID );
            CChatPlayer target_player = Instance.Get_Player_By_Persistence_ID( Instance.Get_Persistence_ID_By_Name( message.PlayerName ) );
            if ( target_player == null )
            {
                tell_response.Error = ETellError.Unknown_Player;
            }
            else if ( Instance.Is_Ignoring_Player( target_player.PersistenceID, player_id ) )
            {
                tell_response.Error = ETellError.Ignored;
            }
            else
            {
                Instance.Send_Message_To_Player( new CPlayerTellMessage( Instance.Get_Player_Name_By_Persistence_ID( player_id ), message.ChatMessage ), target_player.PersistenceID );
            }

            Instance.Send_Message_To_Player( tell_response, player_id );

            CLog.Log( ELoggingChannel.Chat, ELogLevel.Medium, String.Format( "Player {0} attempted to tell '{1}' to player {2} with result = {3}.",
                                                                                                  Instance.Get_Player_Name_By_Persistence_ID( player_id ),
                                                                                                  message.ChatMessage,
                                                                                                  message.PlayerName,
                                                                                                  tell_response.ToString() ) );
        }
        private void On_Player_Tell_Response( CPlayerTellResponse message )
        {
            switch ( message.Error )
            {
                case ETellError.None:
                    CPlayerTellRequest tell_request = message.Request as CPlayerTellRequest;
                    CClientResource.Output_Text( EClientTextID.Client_Chat_Sent_Tell, tell_request.PlayerName, tell_request.ChatMessage );
                    break;

                case ETellError.Unknown_Player:
                    CClientResource.Output_Text( EClientTextID.Client_Chat_Unknown_Tell_Target );
                    break;

                case ETellError.Ignored:
                    CClientResource.Output_Text( EClientTextID.Client_Chat_Tell_Ignored );
                    break;
            }
        }