aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Level2.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp
index 70baff4f42e..31834fce8ea 100644
--- a/src/game/Level2.cpp
+++ b/src/game/Level2.cpp
@@ -3971,6 +3971,7 @@ bool ChatHandler::HandleLearnAllRecipesCommand(const char* args)
wstrToLower( wnamepart );
uint32 classmask = m_session->GetPlayer()->getClassMask();
+
std::string name;
SkillLineEntry const *targetSkillInfo = NULL;
@@ -3987,8 +3988,27 @@ bool ChatHandler::HandleLearnAllRecipesCommand(const char* args)
int loc = GetSessionDbcLocale();
name = skillInfo->name[loc];
+ if(name.empty())
+ continue;
+
+ if (!Utf8FitTo(name, wnamepart))
+ {
+ loc = 0;
+ for(; loc < MAX_LOCALE; ++loc)
+ {
+ if(loc==GetSessionDbcLocale())
+ continue;
+
+ name = skillInfo->name[loc];
+ if(name.empty())
+ continue;
+
+ if (Utf8FitTo(name, wnamepart))
+ break;
+ }
+ }
- if(Utf8FitTo(name, wnamepart))
+ if(loc < MAX_LOCALE)
{
targetSkillInfo = skillInfo;
break;