From 36f037db3893cecb3e345d434ecfa7469d1932c5 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 1 Dec 2021 20:50:03 -0500 Subject: [PATCH] Scripts/Commands: add some missing checks for .guild create command Port From (https://github.com/TrinityCore/TrinityCore/commit/a2c0f6d32113c8ff42760c389826bad80ce77815) --- Source/Game/Chat/Commands/GuildCommands.cs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Source/Game/Chat/Commands/GuildCommands.cs b/Source/Game/Chat/Commands/GuildCommands.cs index f057bf9bc..9451b4826 100644 --- a/Source/Game/Chat/Commands/GuildCommands.cs +++ b/Source/Game/Chat/Commands/GuildCommands.cs @@ -35,18 +35,30 @@ namespace Game.Chat if (!handler.ExtractPlayerTarget(args[0] != '"' ? args : null, out target)) return false; - string guildname = handler.ExtractQuotedArg(args.NextString()); - if (string.IsNullOrEmpty(guildname)) + string guildName = handler.ExtractQuotedArg(args.NextString()); + if (string.IsNullOrEmpty(guildName)) return false; if (target.GetGuildId() != 0) { handler.SendSysMessage(CypherStrings.PlayerInGuild); - return true; + return false; + } + + if (Global.GuildMgr.GetGuildByName(guildName)) + { + handler.SendSysMessage(CypherStrings.GuildRenameAlreadyExists); + return false; + } + + if (Global.ObjectMgr.IsReservedName(guildName) || !ObjectManager.IsValidCharterName(guildName)) + { + handler.SendSysMessage(CypherStrings.BadValue); + return false; } Guild guild = new(); - if (!guild.Create(target, guildname)) + if (!guild.Create(target, guildName)) { handler.SendSysMessage(CypherStrings.GuildNotCreated); return false;