diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 16c96ca7425..020028e6274 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7562,7 +7562,7 @@ bool isValidString(const std::wstring& wstr, uint32 strictMask, bool numericOrSp return false; } -ResponseCodes ObjectMgr::CheckPlayerName(const std::string& name, bool create) +ResponseCodes ObjectMgr::CheckPlayerName(std::string const& name, LocaleConstant locale, bool create /*= false*/) { std::wstring wname; if (!Utf8toWStr(name, wname)) @@ -7584,7 +7584,7 @@ ResponseCodes ObjectMgr::CheckPlayerName(const std::string& name, bool create) if (wname[i] == wname[i-1] && wname[i] == wname[i-2]) return CHAR_NAME_THREE_CONSECUTIVE; - return CHAR_NAME_SUCCESS; + return ValidateName(name, locale); } bool ObjectMgr::IsValidCharterName(const std::string& name) @@ -7605,7 +7605,7 @@ bool ObjectMgr::IsValidCharterName(const std::string& name) return isValidString(wname, strictMask, true); } -PetNameInvalidReason ObjectMgr::CheckPetName(const std::string& name) +PetNameInvalidReason ObjectMgr::CheckPetName(const std::string& name, LocaleConstant locale) { std::wstring wname; if (!Utf8toWStr(name, wname)) @@ -7622,6 +7622,17 @@ PetNameInvalidReason ObjectMgr::CheckPetName(const std::string& name) if (!isValidString(wname, strictMask, false)) return PET_NAME_MIXED_LANGUAGES; + switch (ValidateName(name, locale)) + { + case CHAR_NAME_PROFANE: + return PET_NAME_PROFANE; + case CHAR_NAME_RESERVED: + return PET_NAME_RESERVED; + case RESPONSE_FAILURE: + return PET_NAME_INVALID; + default: + break; + } return PET_NAME_SUCCESS; } |