aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/Guild.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
-rw-r--r--src/server/game/Guilds/Guild.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 6421f9caa65..afecd673c07 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