aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/GroupHandler.cpp
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-02-10 19:49:38 +0100
committerjackpoz <giacomopoz@gmail.com>2014-02-10 19:49:38 +0100
commit1aada1f5ef14174fca443ad7b5f9143d465cbbc4 (patch)
tree1bd62229bc15b480788432ff07b3f3ecd7011703 /src/server/game/Handlers/GroupHandler.cpp
parentb72273014f2f290f9524a3f9b1596528773da9fb (diff)
parent08cd624d0ce303e4ed10830469b5724094124efd (diff)
Merge pull request #11584 from Dehravor/group
Group related fixes
Diffstat (limited to 'src/server/game/Handlers/GroupHandler.cpp')
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp20
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);
}
}