aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp18
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;