aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/mangos.sql8
-rw-r--r--sql/updates/7720_01_mangos_mangos_string.sql7
-rw-r--r--src/game/Level3.cpp20
3 files changed, 23 insertions, 12 deletions
diff --git a/sql/mangos.sql b/sql/mangos.sql
index 19aba5af7b0..1fca13b12cc 100644
--- a/sql/mangos.sql
+++ b/sql/mangos.sql
@@ -23,7 +23,7 @@ DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
`creature_ai_version` varchar(120) default NULL,
- `required_7714_01_mangos_command` bit(1) default NULL
+ `required_7720_01_mangos_mangos_string` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@@ -2843,9 +2843,9 @@ INSERT INTO `mangos_string` VALUES
(554,'%s has hidden all zones from you.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(555,'Hover enabled',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(556,'Hover disabled',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
-(557,'You have been leveled up (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
-(558,'You have been leveled down (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
-(559,'Your level progress has been reset.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(557,'%s level up you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(558,'%s level down you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(559,'%s reset your level progress.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(560,'The area has been set as explored.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(561,'The area has been set as not explored.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(562,'GUID=%i \'s updateIndex: %i, value: %i.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
diff --git a/sql/updates/7720_01_mangos_mangos_string.sql b/sql/updates/7720_01_mangos_mangos_string.sql
new file mode 100644
index 00000000000..41435c0e81f
--- /dev/null
+++ b/sql/updates/7720_01_mangos_mangos_string.sql
@@ -0,0 +1,7 @@
+ALTER TABLE db_version CHANGE COLUMN required_7714_01_mangos_command required_7720_01_mangos_mangos_string bit;
+
+DELETE FROM mangos_string WHERE entry IN(557,558,559);
+INSERT INTO mangos_string VALUES
+(557,'%s level up you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(558,'%s level down you to (%i)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(559,'%s reset your level progress.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index 0b5923f3f19..ca1ef59ec6c 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -4494,12 +4494,15 @@ void ChatHandler::HandleCharacterLevel(Player* player, uint64 player_guid, uint3
player->InitTalentForLevel();
player->SetUInt32Value(PLAYER_XP,0);
- if(oldlevel == newlevel)
- ChatHandler(player).SendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET);
- else if(oldlevel < newlevel)
- ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,newlevel-oldlevel);
- else // if(oldlevel > newlevel)
- ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,newlevel-oldlevel);
+ if(needReportToTarget(player))
+ {
+ if(oldlevel == newlevel)
+ ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_PROGRESS_RESET,GetNameLink().c_str());
+ else if(oldlevel < newlevel)
+ ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_UP,GetNameLink().c_str(),newlevel);
+ else // if(oldlevel > newlevel)
+ ChatHandler(player).PSendSysMessage(LANG_YOURS_LEVEL_DOWN,GetNameLink().c_str(),newlevel);
+ }
}
else
{
@@ -4592,7 +4595,7 @@ bool ChatHandler::HandleCharacterLevelCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel);
- if(m_session->GetPlayer() != chr) // including player==NULL
+ if(m_session && m_session->GetPlayer() != chr) // including player==NULL
{
std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
@@ -4677,11 +4680,12 @@ bool ChatHandler::HandleLevelUpCommand(const char* args)
HandleCharacterLevel(chr,chr_guid,oldlevel,newlevel);
- if(m_session->GetPlayer() != chr) // including chr==NULL
+ if(m_session && m_session->GetPlayer() != chr) // including chr==NULL
{
std::string nameLink = playerLink(name);
PSendSysMessage(LANG_YOU_CHANGE_LVL,nameLink.c_str(),newlevel);
}
+
return true;
}