aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat/LanguageMgr.h
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/Chat/LanguageMgr.h
parentede3e415ab4dab39d2f88f588a7f0f79d6c4187b (diff)
Core/Chat: Allow incorrect spell/skill language assignments to mirror client behavior
Diffstat (limited to 'src/server/game/Chat/LanguageMgr.h')
-rw-r--r--src/server/game/Chat/LanguageMgr.h20
1 files changed, 10 insertions, 10 deletions
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 <string>
#include <vector>
@@ -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<char const*> WordList;
typedef std::unordered_map<WordKey, WordList> WordsMap;
- typedef std::unordered_map<uint32, LanguageDesc> LanguagesMap;
+ typedef std::unordered_multimap<uint32, LanguageDesc> 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<LanguagesMap::const_iterator> 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;