aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Guild.cpp36
-rw-r--r--src/game/Guild.h2
-rw-r--r--src/game/GuildHandler.cpp2
-rw-r--r--src/game/Language.h7
-rw-r--r--src/game/Level3.cpp2
-rw-r--r--src/game/PetitionsHandler.cpp2
-rw-r--r--src/shared/revision_nr.h2
7 files changed, 26 insertions, 27 deletions
diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp
index 2132a69fec1..4aa9f54f682 100644
--- a/src/game/Guild.cpp
+++ b/src/game/Guild.cpp
@@ -28,6 +28,7 @@
#include "Chat.h"
#include "SocialMgr.h"
#include "Util.h"
+#include "Language.h"
Guild::Guild()
{
@@ -51,27 +52,25 @@ Guild::~Guild()
}
-bool Guild::create(uint64 lGuid, std::string gname)
+bool Guild::create(Player* leader, std::string gname)
{
- std::string rname;
- std::string lName;
-
- if(!objmgr.GetPlayerNameByGUID(lGuid, lName))
- return false;
if(objmgr.GetGuildByName(gname))
return false;
- sLog.outDebug("GUILD: creating guild %s to leader: %u", gname.c_str(), GUID_LOPART(lGuid));
+ WorldSession* lSession = leader->GetSession();
+ if(!lSession)
+ return false;
- leaderGuid = lGuid;
+ leaderGuid = leader->GetGUID();
name = gname;
GINFO = "";
MOTD = "No message set.";
guildbank_money = 0;
purchased_tabs = 0;
-
Id = objmgr.GenerateGuildId();
+ sLog.outDebug("GUILD: creating guild %s to leader: %u", gname.c_str(), GUID_LOPART(leaderGuid));
+
// gname already assigned to Guild::name, use it to encode string for DB
CharacterDatabase.escape_string(gname);
@@ -89,18 +88,13 @@ bool Guild::create(uint64 lGuid, std::string gname)
Id, gname.c_str(), GUID_LOPART(leaderGuid), dbGINFO.c_str(), dbMOTD.c_str(), EmblemStyle, EmblemColor, BorderStyle, BorderColor, BackgroundColor, guildbank_money);
CharacterDatabase.CommitTransaction();
- rname = "Guild Master";
- CreateRank(rname,GR_RIGHT_ALL);
- rname = "Officer";
- CreateRank(rname,GR_RIGHT_ALL);
- rname = "Veteran";
- CreateRank(rname,GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
- rname = "Member";
- CreateRank(rname,GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
- rname = "Initiate";
- CreateRank(rname,GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
-
- return AddMember(lGuid, (uint32)GR_GUILDMASTER);
+ CreateRank(lSession->GetMangosString(LANG_GUILD_MASTER), GR_RIGHT_ALL);
+ CreateRank(lSession->GetMangosString(LANG_GUILD_OFFICER), GR_RIGHT_ALL);
+ CreateRank(lSession->GetMangosString(LANG_GUILD_VETERAN), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
+ CreateRank(lSession->GetMangosString(LANG_GUILD_MEMBER), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
+ CreateRank(lSession->GetMangosString(LANG_GUILD_INITIATE),GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
+
+ return AddMember(leaderGuid, (uint32)GR_GUILDMASTER);
}
bool Guild::AddMember(uint64 plGuid, uint32 plRank)
diff --git a/src/game/Guild.h b/src/game/Guild.h
index fb124bbc8e4..12dea1feb1f 100644
--- a/src/game/Guild.h
+++ b/src/game/Guild.h
@@ -269,7 +269,7 @@ class Guild
Guild();
~Guild();
- bool create(uint64 lGuid, std::string gname);
+ bool create(Player* leader, std::string gname);
void Disband();
typedef std::map<uint32, MemberSlot> MemberList;
diff --git a/src/game/GuildHandler.cpp b/src/game/GuildHandler.cpp
index 5c4c18d64d9..358d48292a3 100644
--- a/src/game/GuildHandler.cpp
+++ b/src/game/GuildHandler.cpp
@@ -64,7 +64,7 @@ void WorldSession::HandleGuildCreateOpcode(WorldPacket& recvPacket)
return;
Guild *guild = new Guild;
- if(!guild->create(GetPlayer()->GetGUID(),gname))
+ if(!guild->create(GetPlayer(),gname))
{
delete guild;
return;
diff --git a/src/game/Language.h b/src/game/Language.h
index 0bb9ca3318c..be303c294e4 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -710,7 +710,12 @@ enum TrinityStrings
LANG_PLAYER_NOT_EXIST_OR_OFFLINE = 808,
LANG_ACCOUNT_FOR_PLAYER_NOT_FOUND = 809,
LANG_ACHIEVEMENT_EARNED = 810,
- // Room for in-game strings 811-999 not used
+ LANG_GUILD_MASTER = 811,
+ LANG_GUILD_OFFICER = 812,
+ LANG_GUILD_VETERAN = 813,
+ LANG_GUILD_MEMBER = 814,
+ LANG_GUILD_INITIATE = 815,
+ // Room for in-game strings 816-999 not used
// Level 4 (CLI only commands)
LANG_COMMAND_EXIT = 1000,
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index 8dc176cb023..80d73d4dffe 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -3636,7 +3636,7 @@ bool ChatHandler::HandleGuildCreateCommand(const char* args)
}
Guild *guild = new Guild;
- if (!guild->create (player->GetGUID (),guildname))
+ if (!guild->create (player,guildname))
{
delete guild;
SendSysMessage (LANG_GUILD_NOT_CREATED);
diff --git a/src/game/PetitionsHandler.cpp b/src/game/PetitionsHandler.cpp
index df9761a7f53..2b225283749 100644
--- a/src/game/PetitionsHandler.cpp
+++ b/src/game/PetitionsHandler.cpp
@@ -826,7 +826,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recv_data)
if(type == 9) // create guild
{
Guild* guild = new Guild;
- if(!guild->create(_player->GetGUID(), name))
+ if(!guild->create(_player, name))
{
delete guild;
delete result;
diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h
index 6af72ad25e0..b78c81a0466 100644
--- a/src/shared/revision_nr.h
+++ b/src/shared/revision_nr.h
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
- #define REVISION_NR "7421"
+ #define REVISION_NR "7422"
#endif // __REVISION_NR_H__