diff options
Diffstat (limited to 'src/game/GroupHandler.cpp')
-rw-r--r-- | src/game/GroupHandler.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp index f8bdc008e51..ef7cee5cfa4 100644 --- a/src/game/GroupHandler.cpp +++ b/src/game/GroupHandler.cpp @@ -572,14 +572,10 @@ void WorldSession::HandlePartyAssignmentOpcode( WorldPacket & recv_data ) if(!group) return; - uint8 flag1, flag2; + uint8 flag, apply; uint64 guid; - recv_data >> flag1 >> flag2; + recv_data >> flag >> apply; recv_data >> guid; - // if(flag1) Main Assist - // 0x4 - // if(flag2) Main Tank - // 0x2 /** error handling **/ if(!group->IsLeader(GetPlayer()->GetGUID())) @@ -587,10 +583,11 @@ void WorldSession::HandlePartyAssignmentOpcode( WorldPacket & recv_data ) /********************/ // everything's fine, do it - if(flag1 == 1) - group->SetMainAssistant(guid); - if(flag2 == 1) - group->SetMainTank(guid); + if (flag == MEMBER_FLAG_MAINTANK) + group->SetMainTank(guid, apply); + + else if (flag == MEMBER_FLAG_MAINASSIST) + group->SetMainAssistant(guid, apply); } void WorldSession::HandleRaidReadyCheckOpcode( WorldPacket & recv_data ) |