//Attunement check
RequiredQuest = 0;
RequiredItem = 0;
QuestCompleted = false;
uint32 qmapid = GetId();
QueryResult* result = sDatabase.PQuery("SELECT `RequiredQuest`,`RequiredItem` FROM `instance_template` WHERE `map` = '%d'", qmapid);
Field *fields = result->Fetch();
RequiredQuest = StrSplit(fields[0].GetString(), ";");
RequiredItem = fields[1].GetUInt32();
delete result;
//Check for required quest
for (int i = 0; i < RequiredQuest.size(); i++) {
if (player->GetQuestRewardStatus(atoi(RequiredQuest[i])))
QuestCompleted = true;
}
if (!QuestCompleted && RequiredQuest != NULL && (!player->isGameMaster())) {
player->GetSession()->SendAreaTriggerMessage("You are not attuned to %s.", GetMapName());
return(false);
}
//Check for required item
if (!player->HasItemCount(RequiredItem, 1) && RequiredItem != 0 && (!player->isGameMaster())) {
player->GetSession()->SendAreaTriggerMessage("You do not have the required key for this instance.", GetMapName());
return(false);
}