aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp40
1 files changed, 14 insertions, 26 deletions
diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp
index 9f65ec46958..7b074087c0f 100644
--- a/src/server/scripts/Commands/cs_guild.cpp
+++ b/src/server/scripts/Commands/cs_guild.cpp
@@ -249,41 +249,29 @@ public:
{
Guild* guild = nullptr;
- if (!*args)
+ if (args && strlen(args) > 0)
{
- // Look for the guild of the selected player or ourselves
- if (Player* target = handler->getSelectedPlayerOrSelf())
- guild = target->GetGuild();
+ if (isNumeric(args))
+ {
+ uint32 guildId = uint32(atoi(args));
+ guild = sGuildMgr->GetGuildById(guildId);
+ }
else
- // getSelectedPlayerOrSelf will return null if there is no session
- // so target becomes nullptr if the command is ran through console
- // without specifying args.
- return false;
- }
- else if (uint32 guildId = atoi(args)) // Try searching by Id
- guild = sGuildMgr->GetGuildById(guildId);
- else
- {
- // Try to extract a guild name
- char* tailStr = *args != '"' ? strtok(NULL, "") : (char*)args;
- if (!tailStr)
- return false;
-
- char* guildStr = handler->extractQuotedArg((char*)args);
- if (!guildStr)
- return false;
-
- std::string guildName = guildStr;
- guild = sGuildMgr->GetGuildByName(guildName);
+ {
+ std::string guildName = args;
+ guild = sGuildMgr->GetGuildByName(guildName);
+ }
}
+ else if (Player* target = handler->getSelectedPlayerOrSelf())
+ guild = target->GetGuild();
if (!guild)
return false;
- std::string guildMasterName;
-
// Display Guild Information
handler->PSendSysMessage(LANG_GUILD_INFO_NAME, guild->GetName().c_str(), guild->GetId()); // Guild Id + Name
+
+ std::string guildMasterName;
if (sObjectMgr->GetPlayerNameByGUID(guild->GetLeaderGUID(), guildMasterName))
handler->PSendSysMessage(LANG_GUILD_INFO_GUILD_MASTER, guildMasterName.c_str(), guild->GetLeaderGUID()); // Guild Master