[7422] Allow localization base at guildmaster locale default guild rank names at guild creating. Author: VladimirMangos
--HG-- branch : trunk
This commit is contained in:
+6
-1
@@ -22,7 +22,7 @@
|
||||
DROP TABLE IF EXISTS `db_version`;
|
||||
CREATE TABLE `db_version` (
|
||||
`version` varchar(120) default NULL,
|
||||
`required_7399_01_mangos_mangos_string` bit(1) default NULL
|
||||
`required_7422_01_mangos_mangos_string` bit(1) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||
|
||||
--
|
||||
@@ -2848,6 +2848,11 @@ INSERT INTO `mangos_string` VALUES
|
||||
(808,'Player %s not found or offline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(809,'Account for character %s not found',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(810,'|Hplayer:$N|h[$N]|h has earned the achievement $a!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(811,'Guild Master',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(812,'Officer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(813,'Veteran',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(814,'Member',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(815,'Initiate',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(1000,'Exiting daemon...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(1001,'Account deleted: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(1002,'Account %s NOT deleted (probably sql file format was updated)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
ALTER TABLE db_version CHANGE COLUMN required_7399_01_mangos_mangos_string required_7422_01_mangos_mangos_string bit;
|
||||
|
||||
DELETE FROM mangos_string WHERE entry in (811, 812, 813, 814, 815);
|
||||
INSERT INTO mangos_string VALUES
|
||||
(811,'Guild Master',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(812,'Officer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(813,'Veteran',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(814,'Member',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||
(815,'Initiate',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||
+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