aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorAokromes <jipr@hotmail.com>2013-04-27 05:02:07 -0700
committerAokromes <jipr@hotmail.com>2013-04-27 05:02:07 -0700
commite486cd7623fb2a8f62db8520d0a242be3ff3baf0 (patch)
tree1ff943c676da5b359e5199c6e21ee28c3a1bb812 /src/server/scripts
parent1ce50f84425147a98b2bd9897fdc79ff58cf4560 (diff)
parent678cade1163080263bdea9e349fbb67b7af15ea7 (diff)
Merge pull request #9662 from xjose93/GuildRename
Guild rename
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp
index afe792048f6..9d2214c82e9 100644
--- a/src/server/scripts/Commands/cs_guild.cpp
+++ b/src/server/scripts/Commands/cs_guild.cpp
@@ -43,6 +43,7 @@ public:
{ "invite", SEC_GAMEMASTER, true, &HandleGuildInviteCommand, "", NULL },
{ "uninvite", SEC_GAMEMASTER, true, &HandleGuildUninviteCommand, "", NULL },
{ "rank", SEC_GAMEMASTER, true, &HandleGuildRankCommand, "", NULL },
+ { "rename", SEC_GAMEMASTER, true, &HandleGuildRenameCommand, "", NULL },
{ NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
@@ -192,6 +193,55 @@ public:
uint8 newRank = uint8(atoi(rankStr));
return targetGuild->ChangeMemberRank(targetGuid, newRank);
}
+
+ static bool HandleGuildRenameCommand(ChatHandler* handler, char const* _args)
+ {
+ if (!*_args)
+ return false;
+
+ char *args = (char *)_args;
+
+ char const* oldGuildStr = handler->extractQuotedArg(args);
+ if (!oldGuildStr)
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ char const* newGuildStr = handler->extractQuotedArg(strtok(NULL, ""));
+ if (!newGuildStr)
+ {
+ handler->SendSysMessage(LANG_INSERT_GUILD_NAME);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ Guild* guild = sGuildMgr->GetGuildByName(oldGuildStr);
+ if (!guild)
+ {
+ handler->PSendSysMessage(LANG_COMMAND_COULDNOTFIND, oldGuildStr);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ if (sGuildMgr->GetGuildByName(newGuildStr))
+ {
+ handler->PSendSysMessage(LANG_GUILD_RENAME_ALREADY_EXISTS, newGuildStr);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ if (!guild->SetName(newGuildStr))
+ {
+ handler->SendSysMessage(LANG_BAD_VALUE);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ handler->PSendSysMessage(LANG_GUILD_RENAME_DONE, oldGuildStr, newGuildStr);
+ return true;
+ }
};
void AddSC_guild_commandscript()