mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[7422] Allow localization base at guildmaster locale default guild rank names at guild creating.
This commit is contained in:
parent
60a3366892
commit
eac584eb89
10 changed files with 42 additions and 27 deletions
|
|
@ -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';
|
||||
|
||||
--
|
||||
|
|
@ -2849,6 +2849,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),
|
||||
|
|
|
|||
9
sql/updates/7422_01_mangos_mangos_string.sql
Normal file
9
sql/updates/7422_01_mangos_mangos_string.sql
Normal file
|
|
@ -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);
|
||||
|
|
@ -195,6 +195,7 @@ pkgdata_DATA = \
|
|||
7390_01_mangos_areatrigger_teleport.sql \
|
||||
7393_01_mangos_game_event.sql \
|
||||
7399_01_mangos_mangos_string.sql \
|
||||
7422_01_mangos_mangos_string.sql \
|
||||
README
|
||||
|
||||
## Additional files to include when running 'make dist'
|
||||
|
|
@ -370,4 +371,5 @@ EXTRA_DIST = \
|
|||
7390_01_mangos_areatrigger_teleport.sql \
|
||||
7393_01_mangos_game_event.sql \
|
||||
7399_01_mangos_mangos_string.sql \
|
||||
7422_01_mangos_mangos_string.sql \
|
||||
README
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "Chat.h"
|
||||
#include "SocialMgr.h"
|
||||
#include "Util.h"
|
||||
#include "Language.h"
|
||||
|
||||
Guild::Guild()
|
||||
{
|
||||
|
|
@ -49,27 +50,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);
|
||||
|
||||
|
|
@ -87,18 +86,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)
|
||||
|
|
|
|||
|
|
@ -267,7 +267,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;
|
||||
|
|
|
|||
|
|
@ -62,7 +62,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;
|
||||
|
|
|
|||
|
|
@ -708,7 +708,12 @@ enum MangosStrings
|
|||
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,
|
||||
|
|
|
|||
|
|
@ -3065,7 +3065,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);
|
||||
|
|
|
|||
|
|
@ -824,7 +824,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__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue