aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorxjose93 <xjose93@hotmail.com>2013-04-16 17:08:58 +0200
committerxjose93 <xjose93@hotmail.com>2013-04-19 23:21:23 +0200
commit678cade1163080263bdea9e349fbb67b7af15ea7 (patch)
treeb5ba38be5441d4cb60edd07496eb2ab128e5d73b /src/server/game
parentbf10860a1c237fda0f7dd62297d6a591247ec660 (diff)
Core/Commands: rename guilds (.guild rename "old guildname" "new guildname")
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,