rendered paste bodyIndex: src/game/MiscHandler.cpp===================================================================--- src/game/MiscHandler.cpp (Revision 5459)+++ src/game/MiscHandler.cpp (Arbeitskopie)@@ -582,24 +582,27 @@ if (friendGuid && friendResult==FRIEND_NOT_FOUND) {- if( pFriend && pFriend->IsInWorld() && pFriend->IsVisibleGloballyFor(GetPlayer()))+ if(!(pFriend->GetSession()->GetSecurity()>=2 && GetSecurity()<2)) {- friendResult = FRIEND_ADDED_ONLINE;- friendArea = pFriend->GetZoneId();- friendLevel = pFriend->getLevel();- friendClass = pFriend->getClass();- }- else- friendResult = FRIEND_ADDED_OFFLINE;+ if( pFriend && pFriend->IsInWorld() && pFriend->IsVisibleGloballyFor(GetPlayer()))+ {+ friendResult = FRIEND_ADDED_ONLINE;+ friendArea = pFriend->GetZoneId();+ friendLevel = pFriend->getLevel();+ friendClass = pFriend->getClass();+ }+ else+ friendResult = FRIEND_ADDED_OFFLINE; - if(!GetPlayer()->AddToFriendList(friendGuid, friendName))- {- friendResult = FRIEND_LIST_FULL;- sLog.outDebug( "WORLD: %s's friend list is full.", GetPlayer()->GetName());+ if(!GetPlayer()->AddToFriendList(friendGuid, friendName))+ {+ friendResult = FRIEND_LIST_FULL;+ sLog.outDebug( "WORLD: %s's friend list is full.", GetPlayer()->GetName());+ }++ sLog.outDebug( "WORLD: %s Guid found '%u' area:%u Level:%u Class:%u.",+ friendName.c_str(), GUID_LOPART(friendGuid), friendArea, friendLevel, friendClass); }-- sLog.outDebug( "WORLD: %s Guid found '%u' area:%u Level:%u Class:%u.",- friendName.c_str(), GUID_LOPART(friendGuid), friendArea, friendLevel, friendClass); } else if(friendResult==FRIEND_ALREADY) {@@ -653,6 +656,8 @@ unsigned char ignoreResult = FRIEND_IGNORE_NOT_FOUND; uint64 IgnoreGuid = 0; + Player *pIgnorand = NULL;+ recv_data >> IgnoreName; if(IgnoreName.empty())@@ -665,6 +670,7 @@ GetPlayer()->GetName(), IgnoreName.c_str() ); IgnoreGuid = objmgr.GetPlayerGUIDByName(IgnoreName);+ pIgnorand = ObjectAccessor::FindPlayer(IgnoreGuid); if(IgnoreGuid) {@@ -681,9 +687,12 @@ if (IgnoreGuid && ignoreResult == FRIEND_IGNORE_NOT_FOUND) {- ignoreResult = FRIEND_IGNORE_ADDED;-- GetPlayer()->AddToIgnoreList(IgnoreGuid, IgnoreName);+ if(!(pIgnorand->GetSession()->GetSecurity()>=2 && GetSecurity()<2))+ {+ ignoreResult = FRIEND_IGNORE_ADDED;+ + GetPlayer()->AddToIgnoreList(IgnoreGuid, IgnoreName);+ } } else if(ignoreResult==FRIEND_IGNORE_ALREADY) {