diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/ReferAFriendHandler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Handlers/ReferAFriendHandler.cpp b/src/server/game/Handlers/ReferAFriendHandler.cpp index c631f5852fa..4546bfafffe 100644 --- a/src/server/game/Handlers/ReferAFriendHandler.cpp +++ b/src/server/game/Handlers/ReferAFriendHandler.cpp @@ -39,13 +39,13 @@ void WorldSession::HandleGrantLevel(WorldPacket& recvData) error = ERR_REFER_A_FRIEND_INSUFFICIENT_GRANTABLE_LEVELS; else if (GetRecruiterId() != target->GetSession()->GetAccountId()) error = ERR_REFER_A_FRIEND_NOT_REFERRED_BY; - else if (target->GetTeamId() != _player->GetTeamId()) + else if (target->GetTeamId() != _player->GetTeamId() && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP)) error = ERR_REFER_A_FRIEND_DIFFERENT_FACTION; else if (target->GetLevel() >= _player->GetLevel()) error = ERR_REFER_A_FRIEND_TARGET_TOO_HIGH; else if (target->GetLevel() >= sWorld->getIntConfig(CONFIG_MAX_RECRUIT_A_FRIEND_BONUS_PLAYER_LEVEL)) error = ERR_REFER_A_FRIEND_GRANT_LEVEL_MAX_I; - else if (target->GetGroup() != _player->GetGroup()) + else if (!target->IsInSameRaidWith(_player)) error = ERR_REFER_A_FRIEND_NOT_IN_GROUP; if (error) |