*Prevent entering in instances if zone in combat - by Iskander

--HG--
branch : trunk
This commit is contained in:
Blaymoira
2009-02-13 23:53:06 +01:00
parent ffb5fb7445
commit 29f3d67fb8
4 changed files with 14 additions and 3 deletions

View File

@@ -1389,8 +1389,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;
}