diff options
author | jackpoz <giacomopoz@gmail.com> | 2014-02-10 19:49:38 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2014-02-10 19:49:38 +0100 |
commit | 1aada1f5ef14174fca443ad7b5f9143d465cbbc4 (patch) | |
tree | 1bd62229bc15b480788432ff07b3f3ecd7011703 | |
parent | b72273014f2f290f9524a3f9b1596528773da9fb (diff) | |
parent | 08cd624d0ce303e4ed10830469b5724094124efd (diff) |
Merge pull request #11584 from Dehravor/group
Group related fixes
-rw-r--r-- | src/server/game/Handlers/GroupHandler.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index 6404d3c8e41..fd7d0602265 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -425,6 +425,15 @@ void WorldSession::HandleLootMethodOpcode(WorldPacket& recvData) /** error handling **/ if (!group->IsLeader(GetPlayer()->GetGUID())) return; + + if (lootMethod > NEED_BEFORE_GREED) + return; + + if (lootThreshold < ITEM_QUALITY_UNCOMMON || lootThreshold > ITEM_QUALITY_ARTIFACT) + return; + + if (lootMethod == MASTER_LOOT && !group->IsMember(lootMaster)) + return; /********************/ // everything's fine, do it @@ -534,11 +543,20 @@ void WorldSession::HandleRaidTargetUpdateOpcode(WorldPacket& recvData) } else // target icon update { - if (!group->IsLeader(GetPlayer()->GetGUID()) && !group->IsAssistant(GetPlayer()->GetGUID())) + if (group->isRaidGroup() && !group->IsLeader(GetPlayer()->GetGUID()) && !group->IsAssistant(GetPlayer()->GetGUID())) return; uint64 guid; recvData >> guid; + + if (IS_PLAYER_GUID(guid)) + { + Player* target = ObjectAccessor::FindPlayer(guid); + + if (!target || target->IsHostileTo(GetPlayer())) + return; + } + group->SetTargetIcon(x, _player->GetGUID(), guid); } } |