[7422] Allow localization base at guildmaster locale default guild rank names at guild creating. Author: VladimirMangos
--HG-- branch : trunk
This commit is contained in:
+14
-20
@@ -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);
|
||||
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(lGuid, (uint32)GR_GUILDMASTER);
|
||||
return AddMember(leaderGuid, (uint32)GR_GUILDMASTER);
|
||||
}
|
||||
|
||||
bool Guild::AddMember(uint64 plGuid, uint32 plRank)
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
+6
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "7421"
|
||||
#define REVISION_NR "7422"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
||||
Reference in New Issue
Block a user