From 14098b28b39bc9d1ea17d18a7ecd3dd610f29cdc Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 2 May 2021 00:44:31 +0200 Subject: Core/Chat: Allow incorrect spell/skill language assignments to mirror client behavior --- src/server/game/Chat/LanguageMgr.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/server/game/Chat/LanguageMgr.h') diff --git a/src/server/game/Chat/LanguageMgr.h b/src/server/game/Chat/LanguageMgr.h index 57e5a6428eb..26010bfbcf8 100644 --- a/src/server/game/Chat/LanguageMgr.h +++ b/src/server/game/Chat/LanguageMgr.h @@ -20,6 +20,7 @@ #include "Define.h" #include "Hash.h" +#include "IteratorPair.h" #include "SharedDefines.h" #include #include @@ -27,11 +28,15 @@ struct LanguageDesc { - uint32 SpellId; - uint32 SkillId; + uint32 SpellId = 0; + uint32 SkillId = 0; + + friend bool operator==(LanguageDesc const& left, LanguageDesc const& right) + { + return left.SpellId == right.SpellId && left.SkillId == right.SkillId; + } }; -struct SkillLineEntry; struct SpellEffectEntry; class TC_GAME_API LanguageMgr @@ -43,7 +48,7 @@ class TC_GAME_API LanguageMgr typedef std::vector WordList; typedef std::unordered_map WordsMap; - typedef std::unordered_map LanguagesMap; + typedef std::unordered_multimap LanguagesMap; // Constructors private: @@ -60,7 +65,7 @@ class TC_GAME_API LanguageMgr uint32 SStrHash(char const* string, bool caseInsensitive, uint32 seed = 0x7FED7FED) const; bool IsLanguageExist(uint32 languageId) const; - LanguageDesc const* GetLanguageDescById(uint32 languageId) const; + Trinity::IteratorPair GetLanguageDescById(Language languageId) const; /* Calls a callback for each available language. * Callback signature: bool callback(uint32 lang, LanguageDesc const& languageDesc) @@ -83,11 +88,6 @@ class TC_GAME_API LanguageMgr void LoadLanguagesWords(); void LoadLanguages(); - void LoadLanguagesSkills(); - - bool IsRelevantLanguageSkill(SkillLineEntry const* skillLineEntry) const; - - uint32 GetSpellLanguage(uint32 spellId) const; WordList const* FindWordGroup(uint32 language, uint32 wordLen) const; -- cgit v1.2.3