diff options
-rw-r--r-- | src/server/scripts/Commands/cs_guild.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp index 4c7f9ee34cf..030c102770c 100644 --- a/src/server/scripts/Commands/cs_guild.cpp +++ b/src/server/scripts/Commands/cs_guild.cpp @@ -29,6 +29,7 @@ EndScriptData */ #include "GuildMgr.h" #include "Language.h" #include "ObjectAccessor.h" +#include "ObjectMgr.h" #include "Player.h" #include "RBAC.h" @@ -87,7 +88,22 @@ public: if (target->GetGuildId()) { handler->SendSysMessage(LANG_PLAYER_IN_GUILD); - return true; + handler->SetSentErrorMessage(true); + return false; + } + + if (sGuildMgr->GetGuildByName(guildName)) + { + handler->SendSysMessage(LANG_GUILD_RENAME_ALREADY_EXISTS); + handler->SetSentErrorMessage(true); + return false; + } + + if (sObjectMgr->IsReservedName(guildName) || !sObjectMgr->IsValidCharterName(guildName)) + { + handler->SendSysMessage(LANG_BAD_VALUE); + handler->SetSentErrorMessage(true); + return false; } Guild* guild = new Guild; |