Core/Chat: Allow incorrect spell/skill language assignments to mirror client behavior

Port From (https://github.com/TrinityCore/TrinityCore/commit/14098b28b39bc9d1ea17d18a7ecd3dd610f29cdc)
This commit is contained in:
hondacrx
2021-05-03 22:15:02 -04:00
parent 89633000d1
commit cbb22d291e
10 changed files with 89 additions and 132 deletions
+1 -7
View File
@@ -40,8 +40,6 @@ namespace Game.Chat
uint AchievementId;
Locale Locale;
uint LanguageSkillId;
// caches
public ChatPkt UntranslatedPacket;
public Optional<ChatPkt> TranslatedPacket;
@@ -58,15 +56,11 @@ namespace Game.Chat
UntranslatedPacket.Initialize(Type, Language, Sender, Receiver, Text, AchievementId, "", Locale);
UntranslatedPacket.Write();
LanguageDesc languageDesc = Global.LanguageMgr.GetLanguageDescById(language);
if (languageDesc != null)
LanguageSkillId = languageDesc.SkillId;
}
public void Invoke(Player player)
{
if (Language == Language.Universal || Language == Language.Addon || Language == Language.AddonLogged || player.CanUnderstandLanguageSkillId(LanguageSkillId))
if (Language == Language.Universal || Language == Language.Addon || Language == Language.AddonLogged || player.CanUnderstandLanguage(Language))
{
player.SendPacket(UntranslatedPacket);
return;
+1 -1
View File
@@ -78,7 +78,7 @@ namespace Game
temp.sound = 0;
}
}
if (!Global.LanguageMgr.IsLanguageExist(temp.lang))
if (temp.lang != Language.Universal && !Global.LanguageMgr.IsLanguageExist(temp.lang))
{
Log.outError(LogFilter.Sql, "GossipManager: Entry {0}, Group {1} in table `creature_texts` using Language {2} but Language does not exist.", temp.creatureId, temp.groupId, temp.lang);
temp.lang = Language.Universal;