aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Guilds/Guild.cpp13
-rw-r--r--src/server/game/Guilds/Guild.h2
-rw-r--r--src/server/game/Miscellaneous/Language.h4
3 files changed, 18 insertions, 1 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 158a20d67d1..2ec9130f263 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -1285,6 +1285,19 @@ void Guild::OnPlayerStatusChange(Player* player, uint32 flag, bool state)
}
}
+bool Guild::SetName(std::string const& name)
+{
+ if (m_name == name || name.empty() || name.length() > 24 || sObjectMgr->IsReservedName(name) || !ObjectMgr::IsValidCharterName(name))
+ return false;
+
+ m_name = name;
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GUILD_NAME);
+ stmt->setString(0, m_name);
+ stmt->setUInt32(1, GetId());
+ CharacterDatabase.Execute(stmt);
+ return true;
+}
+
void Guild::HandleRoster(WorldSession* session /*= NULL*/)
{
// Guess size
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index 6af397f6fed..f6a3e095957 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -657,6 +657,8 @@ public:
std::string const& GetMOTD() const { return m_motd; }
std::string const& GetInfo() const { return m_info; }
+ bool SetName(std::string const& name);
+
// Handle client commands
void HandleRoster(WorldSession* session = NULL); // NULL = broadcast
void HandleQuery(WorldSession* session);
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index f4379e59f19..e03adf2a4a1 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -119,7 +119,9 @@ enum TrinityStrings
LANG_RBAC_LIST_GROUPS_HEADER = 93,
LANG_RBAC_LIST_ROLES_HEADER = 94,
LANG_RBAC_LIST_PERMISSIONS_HEADER = 95,
- // Room for more level 0 96-99 not used
+ LANG_GUILD_RENAME_ALREADY_EXISTS = 96,
+ LANG_GUILD_RENAME_DONE = 97,
+ // Room for more level 0 98-99 not used
// level 1 chat
LANG_GLOBAL_NOTIFY = 100,