diff options
Diffstat (limited to 'src/server')
| -rwxr-xr-x | src/server/game/Globals/ObjectMgr.cpp | 16 | ||||
| -rwxr-xr-x | src/server/game/Globals/ObjectMgr.h | 2 | ||||
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/PetHandler.cpp | 2 | 
4 files changed, 16 insertions, 6 deletions
| diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index bac8466cec2..ec388ab0719 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -8003,8 +8003,15 @@ void ObjectMgr::LoadFishingBaseSkillLevel()      sLog->outString();  } -bool ObjectMgr::CheckDeclinedNames(std::wstring mainpart, DeclinedName const& names) +bool ObjectMgr::CheckDeclinedNames(std::wstring w_ownname, DeclinedName const& names)  { +    // get main part of the name +    std::wstring mainpart = GetMainPartOfName(w_ownname, 0); +    // prepare flags +    bool x = true; +    bool y = true; + +    // check declined names      for (uint8 i =0; i < MAX_DECLINED_NAME_CASES; ++i)      {          std::wstring wname; @@ -8012,9 +8019,12 @@ bool ObjectMgr::CheckDeclinedNames(std::wstring mainpart, DeclinedName const& na              return false;          if (mainpart != GetMainPartOfName(wname, i+1)) -            return false; +            x = false; +  +        if (w_ownname != wname) +            y = false;      } -    return true; +    return (x || y);  }  uint32 ObjectMgr::GetAreaTriggerScriptId(uint32 trigger_id) diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 736e1b0b60e..ea19cbbdd06 100755 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -1135,7 +1135,7 @@ class ObjectMgr          static PetNameInvalidReason CheckPetName(const std::string& name);          static bool IsValidCharterName(const std::string& name); -        static bool CheckDeclinedNames(std::wstring mainpart, DeclinedName const& names); +        static bool CheckDeclinedNames(std::wstring w_ownname, DeclinedName const& names);          GameTele const* GetGameTele(uint32 id) const          { diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp index 9f5eddc4bbe..bbdc0cd8523 100755 --- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp @@ -1150,7 +1150,7 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recv_data)          }      } -    if (!ObjectMgr::CheckDeclinedNames(GetMainPartOfName(wname, 0), declinedname)) +    if (!ObjectMgr::CheckDeclinedNames(wname, declinedname))      {          WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);          data << uint32(1); diff --git a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp index fde83d0ffeb..9dfac0e1b7c 100755 --- a/src/server/game/Server/Protocol/Handlers/PetHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp @@ -628,7 +628,7 @@ void WorldSession::HandlePetRename(WorldPacket & recv_data)          std::wstring wname;          Utf8toWStr(name, wname); -        if (!ObjectMgr::CheckDeclinedNames(GetMainPartOfName(wname, 0), declinedname)) +        if (!ObjectMgr::CheckDeclinedNames(wname, declinedname))          {              SendPetNameInvalid(PET_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME, name, &declinedname);              return; | 
