aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Texts
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-05-02 00:44:31 +0200
committerShauren <shauren.trinity@gmail.com>2021-05-03 23:53:24 +0200
commit14098b28b39bc9d1ea17d18a7ecd3dd610f29cdc (patch)
tree187ff67ad06e196880bf89cf1eb749eaa3a79d37 /src/server/game/Texts
parentede3e415ab4dab39d2f88f588a7f0f79d6c4187b (diff)
Core/Chat: Allow incorrect spell/skill language assignments to mirror client behavior
Diffstat (limited to 'src/server/game/Texts')
-rw-r--r--src/server/game/Texts/ChatTextBuilder.cpp6
-rw-r--r--src/server/game/Texts/ChatTextBuilder.h2
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp2
3 files changed, 3 insertions, 7 deletions
diff --git a/src/server/game/Texts/ChatTextBuilder.cpp b/src/server/game/Texts/ChatTextBuilder.cpp
index b31d126d676..ea564c2aa7f 100644
--- a/src/server/game/Texts/ChatTextBuilder.cpp
+++ b/src/server/game/Texts/ChatTextBuilder.cpp
@@ -27,17 +27,15 @@ namespace Trinity
{
ChatPacketSender::ChatPacketSender(ChatMsg chatType, ::Language language, WorldObject const* sender, WorldObject const* receiver,
std::string message, uint32 achievementId /*= 0*/, LocaleConstant locale /*= LOCALE_enUS*/)
- : Type(chatType), Language(language), Sender(sender), Receiver(receiver), Text(std::move(message)), AchievementId(achievementId), Locale(locale), LanguageSkillId(0)
+ : Type(chatType), Language(language), Sender(sender), Receiver(receiver), Text(std::move(message)), AchievementId(achievementId), Locale(locale)
{
UntranslatedPacket.Initialize(Type, Language, Sender, Receiver, Text, AchievementId, "", Locale);
UntranslatedPacket.Write();
- if (LanguageDesc const* languageDesc = sLanguageMgr->GetLanguageDescById(language))
- LanguageSkillId = languageDesc->SkillId;
}
void ChatPacketSender::operator()(Player const* player) const
{
- if (Language == LANG_UNIVERSAL || Language == LANG_ADDON || Language == LANG_ADDON_LOGGED || player->CanUnderstandLanguageSkillId(LanguageSkillId))
+ if (Language == LANG_UNIVERSAL || Language == LANG_ADDON || Language == LANG_ADDON_LOGGED || player->CanUnderstandLanguage(Language))
{
player->SendDirectMessage(UntranslatedPacket.GetRawPacket());
return;
diff --git a/src/server/game/Texts/ChatTextBuilder.h b/src/server/game/Texts/ChatTextBuilder.h
index 74d677dfbfa..94ae1339652 100644
--- a/src/server/game/Texts/ChatTextBuilder.h
+++ b/src/server/game/Texts/ChatTextBuilder.h
@@ -40,8 +40,6 @@ namespace Trinity
uint32 AchievementId;
LocaleConstant Locale;
- uint32 LanguageSkillId;
-
public:
// caches
WorldPackets::Chat::Chat UntranslatedPacket;
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index 430af3e1a55..3f2cdb660eb 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -82,7 +82,7 @@ void CreatureTextMgr::LoadCreatureTexts()
}
}
- if (!sLanguageMgr->IsLanguageExist(temp.lang))
+ if (temp.lang != LANG_UNIVERSAL && !sLanguageMgr->IsLanguageExist(temp.lang))
{
TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` using Language %u but Language does not exist.", temp.creatureId, temp.groupId, uint32(temp.lang));
temp.lang = LANG_UNIVERSAL;