aboutsummaryrefslogtreecommitdiff
path: root/src/game/Group.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-02-13 20:12:01 -0600
committermegamage <none@none>2009-02-13 20:12:01 -0600
commit1c3f478ecc5745b880ca6610d64aa5522eb24b1b (patch)
treeabbaf56201c8b40f41bf5af20eb76c370ba32182 /src/game/Group.cpp
parent59be8223e4f25e28ede94f9694a2b151caffd9ed (diff)
parent29f3d67fb8d47ea25291fa040f1cfd33b53c9da6 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Group.cpp')
-rw-r--r--src/game/Group.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/Group.cpp b/src/game/Group.cpp
index 6134be7f9e4..9007da3bdaa 100644
--- a/src/game/Group.cpp
+++ b/src/game/Group.cpp
@@ -1411,8 +1411,10 @@ bool Group::InCombatToInstance(uint32 instanceId)
for(GroupReference *itr = GetFirstMember(); itr != NULL; itr = itr->next())
{
Player *pPlayer = itr->getSource();
- if(pPlayer->getAttackers().size() && pPlayer->GetInstanceId() == instanceId)
- return true;
+ if(pPlayer && pPlayer->getAttackers().size() && pPlayer->GetInstanceId() == instanceId && (pPlayer->GetMap()->IsRaid() || pPlayer->GetMap()->IsHeroic()))
+ for(std::set<Unit*>::const_iterator i = pPlayer->getAttackers().begin(); i!=pPlayer->getAttackers().end(); ++i)
+ if((*i) && (*i)->GetTypeId() == TYPEID_UNIT && ((Creature*)(*i))->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_INSTANCE_BIND)
+ return true;
}
return false;
}