diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-05-02 00:44:31 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-05-03 23:53:24 +0200 |
| commit | 14098b28b39bc9d1ea17d18a7ecd3dd610f29cdc (patch) | |
| tree | 187ff67ad06e196880bf89cf1eb749eaa3a79d37 /src/server/game/Texts | |
| parent | ede3e415ab4dab39d2f88f588a7f0f79d6c4187b (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.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Texts/ChatTextBuilder.h | 2 | ||||
| -rw-r--r-- | src/server/game/Texts/CreatureTextMgr.cpp | 2 |
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; |
