mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +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`;
|
DROP TABLE IF EXISTS `db_version`;
|
||||||
CREATE TABLE `db_version` (
|
CREATE TABLE `db_version` (
|
||||||
`version` varchar(120) default NULL,
|
`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';
|
) 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),
|
(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),
|
(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),
|
(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),
|
(1000,'Exiting daemon...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
|
||||||
(1001,'Account deleted: %s',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),
|
(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 \
|
7390_01_mangos_areatrigger_teleport.sql \
|
||||||
7393_01_mangos_game_event.sql \
|
7393_01_mangos_game_event.sql \
|
||||||
7399_01_mangos_mangos_string.sql \
|
7399_01_mangos_mangos_string.sql \
|
||||||
|
7422_01_mangos_mangos_string.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -370,4 +371,5 @@ EXTRA_DIST = \
|
||||||
7390_01_mangos_areatrigger_teleport.sql \
|
7390_01_mangos_areatrigger_teleport.sql \
|
||||||
7393_01_mangos_game_event.sql \
|
7393_01_mangos_game_event.sql \
|
||||||
7399_01_mangos_mangos_string.sql \
|
7399_01_mangos_mangos_string.sql \
|
||||||
|
7422_01_mangos_mangos_string.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
#include "Chat.h"
|
#include "Chat.h"
|
||||||
#include "SocialMgr.h"
|
#include "SocialMgr.h"
|
||||||
#include "Util.h"
|
#include "Util.h"
|
||||||
|
#include "Language.h"
|
||||||
|
|
||||||
Guild::Guild()
|
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))
|
if(objmgr.GetGuildByName(gname))
|
||||||
return false;
|
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;
|
name = gname;
|
||||||
GINFO = "";
|
GINFO = "";
|
||||||
MOTD = "No message set.";
|
MOTD = "No message set.";
|
||||||
guildbank_money = 0;
|
guildbank_money = 0;
|
||||||
purchased_tabs = 0;
|
purchased_tabs = 0;
|
||||||
|
|
||||||
Id = objmgr.GenerateGuildId();
|
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
|
// gname already assigned to Guild::name, use it to encode string for DB
|
||||||
CharacterDatabase.escape_string(gname);
|
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);
|
Id, gname.c_str(), GUID_LOPART(leaderGuid), dbGINFO.c_str(), dbMOTD.c_str(), EmblemStyle, EmblemColor, BorderStyle, BorderColor, BackgroundColor, guildbank_money);
|
||||||
CharacterDatabase.CommitTransaction();
|
CharacterDatabase.CommitTransaction();
|
||||||
|
|
||||||
rname = "Guild Master";
|
CreateRank(lSession->GetMangosString(LANG_GUILD_MASTER), GR_RIGHT_ALL);
|
||||||
CreateRank(rname,GR_RIGHT_ALL);
|
CreateRank(lSession->GetMangosString(LANG_GUILD_OFFICER), GR_RIGHT_ALL);
|
||||||
rname = "Officer";
|
CreateRank(lSession->GetMangosString(LANG_GUILD_VETERAN), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
|
||||||
CreateRank(rname,GR_RIGHT_ALL);
|
CreateRank(lSession->GetMangosString(LANG_GUILD_MEMBER), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
|
||||||
rname = "Veteran";
|
CreateRank(lSession->GetMangosString(LANG_GUILD_INITIATE),GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
|
||||||
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);
|
return AddMember(leaderGuid, (uint32)GR_GUILDMASTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Guild::AddMember(uint64 plGuid, uint32 plRank)
|
bool Guild::AddMember(uint64 plGuid, uint32 plRank)
|
||||||
|
|
|
||||||
|
|
@ -267,7 +267,7 @@ class Guild
|
||||||
Guild();
|
Guild();
|
||||||
~Guild();
|
~Guild();
|
||||||
|
|
||||||
bool create(uint64 lGuid, std::string gname);
|
bool create(Player* leader, std::string gname);
|
||||||
void Disband();
|
void Disband();
|
||||||
|
|
||||||
typedef std::map<uint32, MemberSlot> MemberList;
|
typedef std::map<uint32, MemberSlot> MemberList;
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ void WorldSession::HandleGuildCreateOpcode(WorldPacket& recvPacket)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Guild *guild = new Guild;
|
Guild *guild = new Guild;
|
||||||
if(!guild->create(GetPlayer()->GetGUID(),gname))
|
if(!guild->create(GetPlayer(),gname))
|
||||||
{
|
{
|
||||||
delete guild;
|
delete guild;
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -708,7 +708,12 @@ enum MangosStrings
|
||||||
LANG_PLAYER_NOT_EXIST_OR_OFFLINE = 808,
|
LANG_PLAYER_NOT_EXIST_OR_OFFLINE = 808,
|
||||||
LANG_ACCOUNT_FOR_PLAYER_NOT_FOUND = 809,
|
LANG_ACCOUNT_FOR_PLAYER_NOT_FOUND = 809,
|
||||||
LANG_ACHIEVEMENT_EARNED = 810,
|
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)
|
// Level 4 (CLI only commands)
|
||||||
LANG_COMMAND_EXIT = 1000,
|
LANG_COMMAND_EXIT = 1000,
|
||||||
|
|
|
||||||
|
|
@ -3065,7 +3065,7 @@ bool ChatHandler::HandleGuildCreateCommand(const char* args)
|
||||||
}
|
}
|
||||||
|
|
||||||
Guild *guild = new Guild;
|
Guild *guild = new Guild;
|
||||||
if (!guild->create (player->GetGUID (),guildname))
|
if (!guild->create (player,guildname))
|
||||||
{
|
{
|
||||||
delete guild;
|
delete guild;
|
||||||
SendSysMessage (LANG_GUILD_NOT_CREATED);
|
SendSysMessage (LANG_GUILD_NOT_CREATED);
|
||||||
|
|
|
||||||
|
|
@ -824,7 +824,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket & recv_data)
|
||||||
if(type == 9) // create guild
|
if(type == 9) // create guild
|
||||||
{
|
{
|
||||||
Guild* guild = new Guild;
|
Guild* guild = new Guild;
|
||||||
if(!guild->create(_player->GetGUID(), name))
|
if(!guild->create(_player, name))
|
||||||
{
|
{
|
||||||
delete guild;
|
delete guild;
|
||||||
delete result;
|
delete result;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7421"
|
#define REVISION_NR "7422"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue