aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat/Chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Chat/Chat.cpp')
-rw-r--r--src/server/game/Chat/Chat.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 91f62c1a697..0686272f191 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -800,6 +800,24 @@ Creature* ChatHandler::getSelectedCreature()
return ObjectAccessor::GetCreatureOrPetOrVehicle(*m_session->GetPlayer(), m_session->GetPlayer()->GetTarget());
}
+Player* ChatHandler::getSelectedPlayerOrSelf()
+{
+ if (!m_session)
+ return NULL;
+
+ uint64 selected = m_session->GetPlayer()->GetTarget();
+ if (!selected)
+ return m_session->GetPlayer();
+
+ // first try with selected target
+ Player* targetPlayer = ObjectAccessor::FindPlayer(selected);
+ // if the target is not a player, then return self
+ if (!targetPlayer)
+ targetPlayer = m_session->GetPlayer();
+
+ return targetPlayer;
+}
+
char* ChatHandler::extractKeyFromLink(char* text, char const* linkType, char** something1)
{
// skip empty