private void SendTellReply(uint SenderObjectId, string Message, bool ReTell)
{
lock (WorldManager)
{
GamePlayer Sender = WorldManager.ReferencePlayerById(GetDatabase().ACR_GetPlayerID(SenderObjectId), GetDatabase());
GamePlayer Recipient;
int RecipientId;
if (Sender == null)
{
SendFeedbackError(SenderObjectId, "No database entity exists for your character.");
return;
}
if (ReTell)
{
RecipientId = GetLastTellToPlayerId(SenderObjectId);
if (RecipientId == 0)
{
SendFeedbackError(SenderObjectId, "You haven't sent a tell yet.");
return;
}
}
else
{
RecipientId = GetLastTellFromPlayerId(SenderObjectId);
if (RecipientId == 0)
{
SendFeedbackError(SenderObjectId, "No one has sent you a tell yet.");
return;
}
}
Recipient = WorldManager.ReferencePlayerById(RecipientId, GetDatabase());
if (Recipient == null)
{
SendFeedbackError(SenderObjectId, "Internal error: Recipient doesn't exist anymore.");
return;
}
if (!Recipient.IsOnline())
{
SendFeedbackError(SenderObjectId, "That player is no longer online.");
return;
}
SendServerToServerTell(SenderObjectId, Sender, Recipient, Message);
}
}